일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리눅스
- terraform
- SSH
- ubuntu
- k8s
- linux 셸 프로그래밍
- github
- botkube
- kubenetes slack
- markdown
- markdown mermaid
- linux 셸 스크립트
- nextjs 정적배포
- 쉘 프로그래밍
- k8s botkube
- Docker
- aws
- Diagrams
- k8s slack
- Harbor
- kubenetes botkube
- github-actions
- helm
- nextjs html확장자
- TLS
- k8s chatops
- cloudfront s3
- Mermaid
- github actions
- kubernetes
- Today
- Total
목록인프라 (31)
민한의 블로그
terraformer는 기존의 인프라를 terraform으로 관리하기 위해서 terraform import를 사용 하고자 하였으나, state만 가져오기에, 직접 tf파일을 작성하기에는 이건 좀 큰일이구나 싶을 때 찾아서 사용하였다. terraforming 이라는 AWS 전용 terraform import 도구가 있었는데 Project Status (2021-12-11): No longer actively maintained이라고 한다. 아무래도 멀티 클라우드 시대이니, 범용적으로 사용하기에도 좋고, 사용법도 편리한 terraformer를 선택하게 되었다. https://github.com/GoogleCloudPlatform/terraformer 이 주소로 들어가서 각자의 환경에 맞게 설치를 진행하면 되..
Dockerfile build를 하다가 RUN으로 폴더 이동하다가 원하는데로 작동을 하지 않을때 아래는 무슨짓을 써서라도 packages/app 폴더로 가서 작업을 하려고 한 의지가 보이는 Dockerfile이다. FROM node:16.13.2-alpine3.15 WORKDIR /usr/src/app COPY . . RUN pwd RUN ls -al RUN cd packages/app RUN pwd RUN ls -al RUN cd packages/app && ls -al && pwd RUN pwd ... 아래는 그 결과이다. Step 1/13 : FROM node:16.13.2-alpine3.15 16.13.2-alpine3.15: Pulling from library/node Status: Downl..
githubactions에서 dockerfile build 할떄 주의사항 github actions 에서의 step 작업은 항상 루트 파일로 이동한다. 따라서 각각의 스텝마다 작업을 할 공간으로 이동하거나, working-directory를 지정해주어야 한다. name: React CICD on: push: branches: ["develop"] jobs: working-directory-test: runs-on: ubuntu-18.04 env: working-directory: ./packages/app steps: - name: Checkout uses: actions/checkout@v3 - name: 'Create env file111' run: | pwd ls -al cd ./packages/a..
https://github.com/helm/helm/issues/1707 github actions에서 이미지 태그를 GITHUB_SHA 로 만든후 Helm value로 사용하려고 할때, 1465490을 태그로 넣었을 경우, 146549_e+06 이런 이상한수로 변경이 된다. 얘네는 왜 이걸 방치하고 있는것인지 모르겠는데. image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" 이렇게 되어있는 이미지를 image: "{{ .Values.image.repository }}:{{ int .Values.image.tag }}" 앞에 int를 넣어주면 해결된다. ---------------------------------------------------..
출처: https://www.jacobbaek.com/1172 https://wookiist.dev/159 Helm 과 Kustomize 둘다 비슷한 역할을 하지만, Kustomize 수동으로 하는 부분이 존재하지만, Helm은 이마저도 자동화 해놓았다. 개발을 했다가 Devops로 전향을 해서 그런지, helm에서는 go template를 사용하여, if나 반복문, 변수설정등을 사용하는게 오히려 편하게 느껴졌다. 애플리케이션을 동적으로 배포하려고 사용하는것. Kustomize Kustomize 란? https://kustomize.io/ ## kustomization.yaml 파일을 생성 kustomize create --autodetect ##kustomize 를 수정함 kustomize edit s..
docker-compose로는 그냥 뭐하는 녀석인지 잠깐 테스트겸 만드는데 편하다. Harbor란 CNCF의 졸업 프로젝트이다. Private Registry는 public한 docker hub와는 다르게, 개인적으로만 사용하도록 개인 서버에 구축하는 도커 이미지 저장소이다. 회사 사내에서 사용하거나 개인적으로 만든 이미지를 올리고 관리하기 위해서 사용된다. Harbor는 Docker 컨테이너로 실행되기 때문에 Docker 환경이있는 모든 서버에 쉽게 설치할 수 있으며 개발자에게 오프라인 설치 프로그램을 제공하기 때문에 보안 고려 사항 또는 기타 요인이있는 상황(공용 인터넷에 연결할 수 없는 경우을 의미합니다.)에서 유용 할 수 있습니다. Docker를 기업환경에서 사용하려면 반드시 필요한것이 Prvai..
https://istio.io/v1.7/docs/ops/common-problems/network-issues/#404-errors-occur-when-multiple-gateways-configured-with-same-tls-certificate 각 VirtualService별로 내가 원하는 서브 도메인을 여러개 만들어서, 각각의 여러 gateway를 따로 설정하여 TLS 인증서를 적용시켜 주었더니, 하나의 도메인만 접속이 가능하고, 나머지는 접속이 불가능한 문제가 생기었다. 처음에는 각 서비스별 (harbor, argocd, grafana, kibana ..등)의 yaml파일에 환경설정이나 Service설정을 잘못하여 작동을 안하는줄 알았으나, 혹시나 싶어서 하단의 명령어를 작동 시켜보니, 뚜렷한 ..
PVC와 PV가 연결되려면 무조껀 같은 storageClass에 존재하여야 한다. PVC는 같은 storageClass에 속한 PV를 찾고, storageClass 오브젝트가 존재할시에는, 동적으로 PV를 생성하여 PVC에 할당하고, storageClass오브젝트가 존재하지 않을시에는 Pending 상태로 머무르게 된다. PVC는 spec.storageClassName의 default값이 현재 kubernetes환경의 default StorageClass로 정의되므로, ''로 재정의 해줘야한다. 여기서 ''는 storageclass를 설정하지 않는다 라는 뜻으로 이해하면 된다. 그리고 PV는 spec.storageClassName의 default값이 '' 이다...
서버로 ssh접속을 할때는, 암호를 사용하거나, private,public 키로 접근이 가능하다. ssh접속시 전체적인 진행상황 클라이언트에서 private, public 키를 생성한다. ssh-keygen 타겟서버에 public key를 복사해 놓는다. public key는 자유롭게 공유하여도 된다. private key는 클라이언트만 가지고 있어야하며, 누구에게도 복사해 주거나 공개하면 안된다. 공유된 public key로 메세지를 암호화 하고, 그 암호화된 메세지는 그 쌍이 되는 private key로만 해석할수 있다. 클라이언트에서 타겟서버로 public key를 공유한다 ssh-copy-id -i 공개키경로 사용자@타겟서버ip 클라이언트에서 타겟서버로 ssh접속 ssh 사용자@타겟서버ip 클라이..
공식 문서와 블로그, 검색 등을 통해 제가 원하는 자료를 만들고있습니다. 되도록 이미지에대한 정확한 출처를 밝히고자 하지만, 책이나 PDF를 인용하여 사용한듯한 곳에서는 정확한 출처를 찾을수가 없었습니다. 리눅스 패키지란? 출처 : https://bradbury.tistory.com/227 출처 : https://gamsungcoding.tistory.com/entry/Linux-%EB%A6%AC%EB%88%85%EC%8A%A4Linux-%ED%8C%A8%ED%82%A4%EC%A7%80-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0 리눅스 패키지(Linux Package)란 리눅스 시스템에서 소프트웨어를 실행하는데 필요한 파일들(실행 파일, 설정 파일, 라이브러리 등)이 담겨 있는 설..