일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- cloudfront s3
- TLS
- k8s
- 쉘 프로그래밍
- SSH
- Harbor
- terraform
- Mermaid
- ubuntu
- kubernetes
- 리눅스
- botkube
- nextjs 정적배포
- aws
- kubenetes botkube
- markdown
- kubenetes slack
- markdown mermaid
- github actions
- k8s slack
- nextjs html확장자
- k8s botkube
- linux 셸 프로그래밍
- k8s chatops
- helm
- github-actions
- github
- Docker
- linux 셸 스크립트
- Diagrams
- Today
- Total
목록인프라 (31)
민한의 블로그
https://docs.botkube.io/installation/slack/ 우리 회사는 쿠버네티스를 잘 다룰수 있는 사람이 없기 때문에, 배포, 운영관련 문제가 생기면 나에게 연락이 오게 되어있다. 아니 그냥 서버가 안돌아가거나 배포가 안되면 무조껀 연락이 온다. 그렇다고 휴가를 안쓸수도 없는 노릇이고, 휴가때마다 노트북을 들고 다닐수도 없는 노릇이다. 사실 환경 구축을 잘 해놓았다면, 평상시에는 왠만한 일로는 문제가 생길리가 없다. HPA와 CA로 가용성에 문제가 없고, CICD도 문제 없이 작동하며, 빌드할때 문제가 생겨도 배포되지 않으므로.. 그리고 무슨 큰 배포가 있을때 휴가를 나갈리가 없지않는가. 그렇기에 자잘한 문제들은 내가 로그를 확인해주고, 문제 해결을 요청하면 된다. 하드웨어적인 문제..
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..
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"..
terraform 코드 (ex- main.tf) terraform 상태 (ex- terraform.tfstate) terraform 실제 원격지의 인프라 (ex- aws의 실제resource(s3, ec2 ... etc)) #terraform.tfstate ... "resources": [ { "mode": "managed", "type": "aws_instance", //여기 확인! "name": "web", //여기 확인! "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 1, "attributes": { "ami": "ami-0b9954ae1a8f15194", "arn":..
terragrunt Quick start 요약 https://terragrunt.gruntwork.io/docs/getting-started/quick-start/ DRY는 Don't Repeat Yourself(자신을 반복하지 말 것)의 약자입니다. 간단히, Terragrunt는 Terraform에서 반복되는 폴더와 작업들을 줄이고자 사용하는 툴입니다. Terragrunt는 테라폼 코드를 DRY하고 유지보수가 편하게 만들어줍니다. PROD, QA, STAGE, DEV .. 몇개의 환경이 있던 상관없이 환경마다 중복되는 Provider, Backend, input variables 등을 Terragrunt로 한번만 정의해서 사용할수 있습니다. Terragrunt는 root 디렉터리에서 Terraf..