본문 바로가기

kubernetes6

K8S role 파헤치기 쿠버네티스를 공부하다 보니 role, rolebinding, serviceaccount에 대한 개념이 혼동되는 부분이 있어서 정리해 보았다. 참고 문서 https://kubernetes.io/docs/reference/access-authn-authz/rbac/ https://kubernetes.io/docs/reference/access-authn-authz/rbac/ Role & ClusterRole RBAC(Role-based access control)에서 Role과 ClusterRole은 permission의 set을 의미한다. Role과 ClusterRole의 차이는 namespace에 종속되어 있는지이다. Role의 경우 특정 namespace에 대해서만 가능하고, ClusterRole은 n.. 2023. 9. 10.
K8S에서 private docker registry 띄우기 쿠버네티스 상에서 image pull을 할 때, 원격 remote registry에서 pull할 수도 있지만, 때로는 보안 이슈로 원격 레지스트리에 올리지 못하는 경우도 존재한다. 이 경우, 직접 registry를 구축해야 한다. 널리 쓰이는 솔루션으로는 CNCF 프로젝트인 harbor가 존재한다. Harbor는 정책 및 액세스 제어로 아티팩트를 보호하고, 이미지를 스캔하고 취약점이 없는지 확인하고, 이미지를 신뢰할 수 있다고 서명하는 오픈 소스 레지스트리이다. 하지만 우리가 도입하기에는 너무 무겁다고 판단했다. 간단히 도커 이미지를 업로드하고 다운로드하는 정도의 기능만 필요하기 때문이다. 고로, k8s 내의 private docker registry 이미지를 이용하기로 결정했다. 방법 쿠버네티스를 위한.. 2023. 4. 25.
[TIL] regcred 알아보기 쿠버네티스를 실제 운용할 때, 쿠버네티스 pod의 이미지를 레지스트리에서 받아와야 하는 경우가 많다. 이런 경우 docker hub 등 public registry에서도 이미지를 가져올 수 있지만, ecr 등의 private registry에서 이미지를 받아오는 경우도 많다. 이미지를 받아올 secret을 생성하고, 주기적으로 갱신하는 작업을 정리해 보았다. https://kubernetes.io/ko/docs/tasks/configure-pod-container/pull-image-private-registry/ 시크릿 생성하기 쿠버네티스 클러스터는 프라이빗 이미지를 받아올 때, 컨테이너 레지스트리에 인증하기 위하여 kubernetes.io/dockerconfigjson 타입의 시크릿을 사용한다. 만약.. 2023. 4. 24.
Kubernetes 스토리지 구조 Kubernetes에서는 영속적인 저장 공간을 저장하는 방법으로 Persistent Volume을 사용한다. Persistent Volume은 StorageClass를 속성으로 가지게 된다. Pod는 Persistent Volume(pv)과 Persistent Volume Claim(pvc)으로 1:n 관계로 매핑되어 사용한다. 정리하자면 다음과 같다. 하나의 StorageClass로 다양한 PV를 만들 수 있다. PV - PVC - Pod의 관계는 1:1 대응으로, 하나의 PV에 하나의 PVC, 하나의 PVC에 하나의 Pod가 매핑되는 관계이다. StorageClass https://kubernetes.io/ko/docs/concepts/storage/storage-classes/ 스토리지 클래스 이 .. 2023. 3. 26.