연재 시리즈 165

pkos 스터디 2주차 2편 - AWS VPC CNI

이 글은 쿠버네티스에서 AWS VPC CNI 동작과정을 설명합니다. 몇 가지 선수지식이 필요합니다. 네트워크 인터페이스 iptables route table arp 프로토콜 AWS VPC 쿠버네티스 AWS VPC CNI란? AWS에서 쿠버네티스 설치를 하면, 네트워크 설정과 동작은 AWS 네트워크 환경에 영향을 받습니다. 그래서 AWS와 쿠버네티스 사이 적절한 중계자가 필요합니다. 그 역할을 수행하는 모듈이 AWS VPC CNI입니다. kops AWS VPC CNI 스터디에서 사용하는 kops 클러스터는 AWS VCP CNI를 지원합니다. AWS VPC CNI설치는 kops클러스터 생성할 때 networking인자로 설정합니다. kops create cluster \ --zones $ZONES \ --n..

연재 시리즈 2023.03.18

pkos 스터디 2주차 1편 - AWS volume 사용 원리

이 글은 쿠버네티스에서 AWS volume을 사용하는 원리와 방법을 설명합니다. 저는 kops를 이용하여 쿠버네티스를 설치했습니다. 동작원리 커스텀 쿠버네티스 controller을 만들어 AWS volume을 생성/수정/삭제를 관리합니다. 예를 들어 AWS EBS Controller는 pod가 AWS EBS volume가 생성 요청하면, AWS API를 사용하여 volume을 생성합니다. AWS volume이 생성되면, kubelet이 pod에 AWS volume을 연결합니다. 각 노드에 EBS daemonset pod가 kubelet과 함께 AWS volume을 pod에 연결합니다. 위 그림은 놀랍게도 chatgpt가 그려준 겁니다. mermaid라는 언어를 사용해서 chatgpt에게 관계도를 그려달라..

연재 시리즈 2023.03.18

ArgoCD 13편 - kustomize 사용 방법

개요 이 문서는 Argo CD에서 Kustomize를 사용하는 방법을 설명합니다. 사용 방법 Argo CD는 kustomize 설정 파일이 있으면 kustomize build를 실행합니다. 그리고 이 결과를 쿠버네티스에에 배포합니다. 정리하면 Argo CD가 kustomize를 실행하는 방법은 아래 명령어와 비슷합니다. kustomize build | kubectl apply -f 아래 그림은 Argo CD 공식 예제 (https://github.com/argoproj/argocd-example-apps/blob/master/kustomize-guestbook/kustomization.yaml)를 사용했습니다. kustomization.yaml파일이 있어 Argo CD는 kustomize build명령어..

연재 시리즈 2023.03.10

ArgoCD 12편 - helm 차트 release방법

영상: https://youtu.be/o8DC9TcJjiw 개요 Argo cd에서 helm차트를 release방법을 설명합니다. 이 글은 Argo cd WEB UI를 이용합니다. release방법 Argo cd에서 helm차트 release 방법은 2가지 입니다. helm release설정은 Argo cd application생성 과정 중 source에서 설정합니다. helm 차트 저장소 주소를 지정 git주소 지정 helm 차트 저장소 주소 지정 첫 번째 방법은 helm차트 저장소 주소를 지정하는 방법입니다. helm차트 저장소를 선택하려면 ① source타입을 “HELM”을 선택하면 됩니다. 그리고 helm차트 주소를 지정하면 helm차트 목록과 helm차트 버전이 자동으로 출력됩니다. 아래 예제는 ..

연재 시리즈 2023.03.10

pkos 스터디 1주차 - aws에 kops클러스터 생성

1주차 주제 1주차에서는 kops를 사용하여 AWS에 쿠버네티스를 설치하는 실습을 진행했습니다. 2주차부터는 쿠버네티스가 설치된 전제로 스터디를 진행합니다. 그래서 1주차는 쿠버네티스 설치를 목표로 한 것 같습니다. kops를 사용한 이유는, 스터디장이 언급하신 것처럼 학습 목적에 적합했습니다. 쿠버네티스 클러스터 생성 도구를 다루면서 애드온(예: AWS 로드 밸런서 컨트롤러 등)이 지원이 필요했습니다. kops가 이 요구조건에 만족하여 스터디에 kops가 선택된 것 같습니다. kops의 또 다른 장점은 쿠버네티스 클러스터 설치 이후에도 kops를 이용하여 클러스터 설정을 수정할 수 있습니다. 실습에 필요한 것 kops를 사용할 리눅스 쉘과 IAM 사용자 또는 역할, (구매한)도메인이 필요합니다. 리눅스..

연재 시리즈 2023.03.08

ArgoCD 11편 - 클러스터 추가

개요 argo CD는 여러 클러스터를 대상으로 git의 리소스를 sync할 수 있습니다. default 클러스터는argocd가 설치된 클러스터입니다. 클러스터 추가 방법 2가지 방법(token, 인증서)으로 클러스터를 추가할 수 있습니다. Token 설정 apiVersion: v1 kind: Secret metadata: name: mycluster-secret namespace: argocd labels: argocd.argoproj.io/secret-type: cluster type: Opaque stringData: name: mycluster.com server: https://mycluster.com config: | { "bearerToken": "" } 인증서 설정 apiVersion: v1..

연재 시리즈 2023.01.24