일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- linux 셸 스크립트
- Harbor
- github actions
- cloudfront s3
- terraform
- markdown
- nextjs html확장자
- k8s chatops
- kubenetes botkube
- 쉘 프로그래밍
- helm
- Docker
- aws
- github-actions
- 리눅스
- kubenetes slack
- linux 셸 프로그래밍
- TLS
- k8s slack
- Mermaid
- ubuntu
- botkube
- nextjs 정적배포
- github
- SSH
- Diagrams
- kubernetes
- markdown mermaid
- k8s botkube
- k8s
- Today
- Total
목록분류 전체보기 (59)
민한의 블로그
https://docs.botkube.io/installation/slack/ 우리 회사는 쿠버네티스를 잘 다룰수 있는 사람이 없기 때문에, 배포, 운영관련 문제가 생기면 나에게 연락이 오게 되어있다. 아니 그냥 서버가 안돌아가거나 배포가 안되면 무조껀 연락이 온다. 그렇다고 휴가를 안쓸수도 없는 노릇이고, 휴가때마다 노트북을 들고 다닐수도 없는 노릇이다. 사실 환경 구축을 잘 해놓았다면, 평상시에는 왠만한 일로는 문제가 생길리가 없다. HPA와 CA로 가용성에 문제가 없고, CICD도 문제 없이 작동하며, 빌드할때 문제가 생겨도 배포되지 않으므로.. 그리고 무슨 큰 배포가 있을때 휴가를 나갈리가 없지않는가. 그렇기에 자잘한 문제들은 내가 로그를 확인해주고, 문제 해결을 요청하면 된다. 하드웨어적인 문제..
실무 환경에서 NextJS 동적 배포할때는 아무 걱정없이 yarn start로 포트열고 마음편하게 사용했었는데, 정적 페이지를 배포할일이 생겼다. ReactJS를 사용할때는 마음편하게 yarn build만 하고 index.html만 바라보게하고 있으면 잘 해결 되었었다. NextJS에서는 yarn build 후, yarn export를 하면 모든 페이지가 .html 확장자를 달고 나오게 되었다. 예를 들어서, naver.com naver.com/login naver.com/history라는 경로들이 존재한다면, 나의 빌드 파일들에서도 index.html, login.html, history.html 이렇게 남아있어서 해당 파일들을 불러서 화면에 보여줘야 했다. 사전 작업으로는 S3 를 생성한다 ACL비활..
Linux 셸 프로그래밍은 DevOps 및 시스템 관리에서 흔히 발생하는 광범위한 문제를 해결할 수 있습니다. 다음은 쉘 프로그래밍을 통해 해결할 수 있는 몇 가지 문제의 예입니다. 1)반복 작업 자동화 셸 프로그래밍을 사용하면 백업 생성, 소프트웨어 배포 및 테스트 실행과 같은 반복 작업을 자동화할 수 있습니다. 스크립트를 작성하면 이러한 작업을 자동화하고 시간과 노력을 절약할 수 있습니다. 예를 들어 다음은 데이터베이스 백업 생성 프로세스를 자동화하는 스크립트입니다. #!/bin/bash # Set variables DATABASE="mydatabase" BACKUP_DIR="/var/backups" # Create backup directory mkdir -p $BACKUP_DIR # Backup ..
셸 스크립트 프로그래밍 심화를 해보겠습니다. 기초에서는 명령어를 어떤식으로 작성하는지, 셸 스크립트를 어떻게 작성하고 실행시키는지 설명했습니다. 1) 변수 선언 및 할당 변수는 쉘에 값을 저장하는 데 사용됩니다. 파일 경로, 구성 값 및 스크립트 전체에서 참조할 수 있는 기타 데이터를 저장하는 데 사용할 수 있습니다. VARIABLE_NAME=value 예를 들어 "filename"이라는 변수를 만들고 "example.txt" 값을 할당하려면 아래와 같이 사용합니다. filename=example.txt 변수는 다른 변수나 문자열과 결합하여 사용할 수도 있습니다. 이를 변수 확장이라고 합니다. 변수 확장에는 ${}, $와 를 사용합니다. 예를 들어, 다음 코드는 name과 age 변수를 결합하여 메시지를..
셸은 사용자가 운영 체제와 상호 작용하고 프로그램을 실행할 수 있도록 하는 명령줄 인터페이스입니다. 이 블로그 게시물에서는 Linux 셸 프로그래밍을 단계별로 시작하는 방법을 설명합니다. 1) 셸의 기본 사항 셸은 사용자 입력을 읽고 명령을 실행하는 프로그램입니다. Linux에서 가장 일반적인 셸은 Bash(Bourne-Again SHell)이므로 Bash로 진행하겠습니다. (이외에 맥에서 많이들 사용하는 zsh이나, ksh, fish bash ...등 많은 셸들이 있습니다. 서로 유사하지만 각자의 장단점을 갖고 있습니다.) 터미널 창을 열면 나오는것이 셸입니다. 셸 명령의 기본 구문은 다음과 같습니다. command -option(s) argument(s) 예를 들어, 폴더의 내용을 볼수 있는 명령(c..
사설 이미지 저장소를 찾다가, CNCF 프로젝트인 harbor를 선택하였었다. 만들어진 서비스나 툴을 사용하는것보다 직접 운영하는것이 신경쓸것이 많은것 같긴 하다. 사용하다가 이미지 용량을 너무 많이 차지 하면 안되니, 적정선에서 이미지를 지워주는 기능을 적는다. 처음에는 프로젝트 메뉴로 와서, 적절한 프로젝트를 선택한다. 들어왔다면, 서브 메뉴중에 policy 라는 메뉴를 선택한다. 이러한 페이지가 나오는데, TAG RETENTION 토글을 선택하고, ADD RULE 버튼을 누른다. 팝업창에서 룰을 생성하는데, 첫번째 줄에서는 어떤 레지스트리에 적용할건지 또는 제외시킬건지 정규식으로 작성한다. 두번째 줄에서는 가장 최근에 푸쉬된것을 Count 만큼 남길지, 가장 최근에 풀 된것을 Count 만큼 남길지..
github Actions의 cache를 지워보자 사람은 알수없는 에러를 마주하게되면, 다양한 생각을 하며 에러의 원인을 찾아보게되고, 구글과 스택오버플로우를 뒤적거리지만 답이 안나올때는 정말 다양한 행동을 하게 되는것같다. 그러하여 나도 아. 혹시 캐시가 남아서 그런건 아닐까? 하고 뜬금없이 깃허브 캐시를 지우려고 하였다. 참고로 깃허브 캐시를 일정 용량 이상 차면, 오래된 순으로 알아서 삭제되므로 굳이 삭제할필요는 없긴 할것이다. https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#managing-caches 여기에 나오는 코드를 깃허브 액션으로 실행시켜주었다. 아래가 제공되는 코드이다..

terraform-docs https://terraform-docs.io/ terraform 자원들을 한눈에 볼수있도록 docs(문서)을 생성하는 툴 terraform 자체도 IaC로써 코드로 관리하기 편리하긴 하지만, 자원이 다양해지고, 환경이 나뉠수록 문서화를 따로 해야하는가 하는 고민이 있었음. 설치가 쉽고, Github Actions로 자동화가 가능하고, 필요한 부분만 옵션으로 문서화가 손쉽게 가능하다는 점이 정말 큰 장점이라고 생각함. brew에서 설치 $ brew sinstall traforram-docs zsh에서 코드 auto-completion 적용 $ terraform-docs completion zsh > /usr/local/share/zsh/site-functions/_terrafo..

!!주의 이 글은 인증, 인가 관련 보안을 생략하였습니다. (IAM, ServiceAccount, OIDC provider, sts, assume role ...등) Helm 와 Container Repository 도 생략되었습니다. 그 외에 자잘한 옵션들도 다 생략되고, 큰 틀로만 설명되었습니다. 단점은 빼고 장점만 살려서 소개해주는 글이랄까요. 사내에서 개발자 뿐만 아니라 이것이 꽤나 괜찮은 것이라고 설명을 해주려면 어떻게 해야할까? 해서 만든 것입니다. 아마 더 추가하고 싶을때마다 수정될것같습니다.
현재 최신 버전 terrafomer : v0.8.22 terraform : v1.3.1 본문 terraformer를 aws에서 사용할때, $terraformer import aws --resources=s3 --profile=minhan --regions=ap-northeast-2 를 사용하여 s3 폴더가 만들어졌다고 해보자. s3 폴더로 이동하여 terraform init을 터미널에 입력해본다. $terraform init Initializing the backend... ╷ │ Error: Invalid legacy provider address │ │ This configuration or its associated state refers to the unqualified provider "aws"..