[Kubernetes] Helm의 개요, 설치 및 사용법
DevOps/Kubernetes2022. 6. 8. 11:40[Kubernetes] Helm의 개요, 설치 및 사용법

🚀 Helm이란 ?! Helm 우리가 정상적으로 동작하는 서비스를 구축하기 위해서는 수많은 쿠버네티스 오브젝트들이 필요하다. 이런 모든 것들을 모아서 하나로 패키지로 관리하기위한 것이 Helm이다. 쉽게 얘기해서 Helm은 yaml 파일의 모음이다. 이것은 곧 쿠버네티스의 패키지이다. Helm은 2버전과 3버전이 있다. 2버전은 더이상 개발하지 않으나 많은 책이나 문서에는 2버전으로 되어있다. 명령어도 다르고 아키텍처 구조도 달라서 호환성이 많이 떨어진다. 현재는 3버전만 사용한다. Helm 저장소는 다양하게 많이 존재한다. 분산 형태의 저장소를 가지고 있다. Helm을 활용하면 다른 사람이 만든 어플리케이션도 내 쿠버네티스 클러스터로 쉽게 가져올 수 있다. 🚀 Helm 아키텍처 및 구성 요소 (해당 아..

[Kubernetes] RBAC (Role-Based Access Control, 역할 기반 접근 제어)
DevOps/Kubernetes2022. 6. 7. 10:35[Kubernetes] RBAC (Role-Based Access Control, 역할 기반 접근 제어)

🚀 RBAC : Role-Based Access Control Using RBAC Authorization | Kubernetes Role: 권한(NS) ClusterRole: 권한(Global) RoleBinding Role ↔ RoleBinding ↔ SA/User ClusterRoleBinding ClusterRole ↔ ClusterRoleBinding ↔ SA/User vagrant@k8s-node1  ~/pod  kubectl api-resources | grep rbac clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding clusterroles rbac.authorization.k8s.io/v1 false C..

[Kubernetes] Authenticate (인증)
DevOps/Kubernetes2022. 6. 7. 09:00[Kubernetes] Authenticate (인증)

🚀 Authenticate (인증) Authenticating | Kubernetes 쿠버네티스의 사용자 Service Account(SA): 쿠버네티스가 관리하는 SA 사용자 사용자 X Pod 사용 Normal User: 일반 사용자(쿠버네티스가 관리 X) 사용자 O Pod X vagrant@k8s-node1  ~  kubectl api-resources | grep serviceacc serviceaccounts sa v1 true ServiceAccount Service Account는 쿠버네티스가 관리한다. Normal User가 사용하기 위한 인증서는 쿠버네티스가 관리하지만 사용자라는 개념은 쿠버네티스가 관리하지 않는다. vagrant@k8s-node1  ~  kubectl get sec..

[Kubernetes] Kubeconfig 파일
DevOps/Kubernetes2022. 6. 6. 13:53[Kubernetes] Kubeconfig 파일

🚀 Kubeconfig ~/.kube/config : 쿠버네티스 설정 파일 apiVersion: v1 kind: Config preferences: {} clusters: - name: cluster.local cluster: certificate-authority-data: LS0tLS1... server: https://127.0.0.1:6443 - name: mycluster cluster: server: https://1.2.3.4:6443 users: - name: myadmin - name: kubernetes-admin user: client-certificate-data: LS0tLS1... client-key-data: LS0tLS1... contexts: - context: cluste..

[Kubernetes] Taint & Toleration
DevOps/Kubernetes2022. 6. 6. 13:29[Kubernetes] Taint & Toleration

🚀 Taint & Toleration 🚀 Taint 테인트(Taints)와 톨러레이션(Tolerations) | Kubernetes Taint : 특정 노드에 역할을 부여 Toleration : Taint 노드에 스케줄링 허용 vagrant@k8s-node1  ~/schedule/affinity  kubectl describe node node1 Taints: node-role.kubernetes.io/master:NoSchedule 현재 시스템에서는 node1이 컨트롤 플레인이자 워커 노드로 작동하고 있다. 컨트롤 플레인 시스템에는 다음과 같이 Taint key에 Effect가 세팅되어 있다. 워커 노드에는 파드를 배치할 수 있으므로 node1에도 파드가 배치될 수 있다. 만약 node1이 컨트롤 ..

[Kubernetes] Cordon & Drain
DevOps/Kubernetes2022. 6. 6. 13:20[Kubernetes] Cordon & Drain

🚀 Cordon & Drain 🚀 Cordon 스케줄링 금지 kubectl cordon 스케줄링 허용 kubectl uncordon vagrant@k8s-node1  ~/schedule/affinity  kubectl get nodes NAME STATUS ROLES AGE VERSION node1 Ready control-plane,master 10d v1.22.8 node2 Ready 10d v1.22.8 node3 Ready 7d23h v1.22.8 node의 STATUS를 주의깊게 보자 vagrant@k8s-node1  ~/schedule/affinity  kubectl cordon node2 node/node2 cordoned node2에 cordon을 걸었다. vagrant@k8s-no..

image