☸️ Kubernetes

    [kubernetes] SC에 대한 개념 이해하기

    SC(Storage Class)가 필요한 이유 이전 글에서 PV, PVC를 Pod에 연결하는 방법을 배웠다. PV, PVC 방식은 정적 프로비저닝 방식이라고 불린다. 반대로 SC는 일반적으로 동적 프로비저닝을 위해서 사용한다. 정적 프로비저닝 방식은 미리 용량을 할당해두고 사용하는 방식이었다면 동적 프로비저닝 방식은 필요할 때 용량을 할당하는 방식이다. SC를 만들고 PVC를 만들면 자동으로 PV가 만들어진다. 다시 말해서 먼저 PV를 만들어서 용량을 할당할 필요가 없다. SC 개념 이해하기 apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: my-storage-class provisioner: kubernetes.io/host-path v..

    [kubernetes] PV, PVC를 Pod에 연결하기

    Pod에서 Volume을 다루는 이유 쿠버네티스 컨테이너 서버에서 로그가 생성된 경우 해당 기록을 따로 밖으로 빼내지 않는 이상 컨테이너가 종료되면 로그도 같이 삭제된다. 그렇기에 Volume이라는 외부 저장소를 연결하여 로그 기록을 따로 저장할 수 있다.(도커 볼륨의 이유와 같다) apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mycontainer image: myimage volumeMounts: - name: myvolume mountPath: /app/data volumes: - name: myvolume hostPath: path: /tmp/data type: Directory volumeMounts의 mount..

    [Kubernetes] Helm 튜토리얼 사용법

    Helm의 필요성 쿠버네티스 환경에서 yaml 파일이 너무 많아지면 이 파일들을 하나하나 관리하는 것은 힘들다. 그래서 yaml 파일들을 묶어서 관리하고 템플릿 문법을 이용해서 동적으로 yaml 파일을 생성하도록 도와주는 것이 Helm이다. Helm에서의 차트란? 차트란 위의 파일들을 한데 묶어서 표현한 것을 말한다. Chart.yaml에는 Helm에 대한 버전과 내가 배포할 차트의 버전을 적는다. templates에는 yaml 파일들이 들어간다. values.yaml에는 templates에 있는 yaml에 필요한 환경 변수들을 등록해둘 수 있다. Helm 차트는 일반적으로 .tgz 또는 .tar.gz 형식으로 압축된다. Helm은 이러한 압축된 차트를 설치할 수 있다. helm package my-te..

    [kubernetes] Service Account와 Token

    서비스 어카운트 서비스 어카운트는 Kubernetes 클러스터 내에 있는 리소스들이 서로 액세스할 때 권한 설정을 할 수 있는 개념이다. 가령 A, B 네임스페이스가 존재할 때 서로 다른 네임스페이스임에도 서로 참조하는 것을 방지하기 위해 사용할 수도 있고 RBAC 역할 권한을 부여해서 특정 리소스에 대한 부적절한 접근을 통제하는 것도 가능하다. k create sa mysa 로 생성할 수 있다. 시크릿 kubernetes 1.24 이전에는 서비스 어카운트를 만들면 자동으로 Token 값이 포함된 Secret이 생성됐는데 1.24 이후로는 Secret이 자동생성 되지 않아서 만들어줘야 한다. 시크릿의 타입으로는 아래와 같이 여러개가 존재하지만 서비스 어카운트를 위한 토큰을 만들어줘야 한다. generic..