본문 바로가기
  • 오늘처럼

소프트웨어 아키텍처/Kubernetes34

Kubelet authenticatoin/authoziation Kubernetes cluster 에서 worker node 는 master node 에 있는 controlplane 인 kube-api server 와 통신하여 클러스터를 구성하게 된다. 이 때 노드에서는 kubelet 프로세스가 이 작업을 수행하는데, 여기에서는 kubelet 의 역할과 kubelet 에 대한 authentication(인증) / authorization(권한 관리) 방법에 대하여 알아보고 kubelet 과 worker 노드를 안전하게 지키기 위하여 권장되는 방법을 확인해본다. 1. kubelet 의 역할 먼저 kubelet 은, kubeadm 등의 도구와 함께 사용되어, kubernetes cluster 에 worker 노드를 등록해주는 역할을 한다. 정상적으로 등록이 된 후 kub.. 2022. 7. 14.
Kubernetes Authorization (권한 검사 및 부여) 1. Kubernetes Authorization Kubernetes 클러스터 안에서, 사용자는 curl 통신을 수행하거나 kubectl / kubeadm 등의 명령어를 이용하여 Kube-API Server 에 접근하고 이를 통해 클러스터 전체를 관리하게 된다. 클러스터의 관리자(Administrator of Cluster) 로서 사용자는 는 Deployment 를 생성하여 Pod를 관리하거나, Node 를 생성하거나 혹은 삭제하는 등의 리소스에 대한 모든 행동(action - verb)을 수행할 수 있다. 하지만 실제 클러스터를 관리함에 따라, 다양한 성격의 관리자나 개발자 혹은 테스터와 같은 사용자들이 클러스터에 접근하게 되는데, 이들에게는 각각 역할에 따라 크고 작은 다양한 권한이 필요하다. 예를 .. 2022. 7. 13.
Kubernetes API Version / Groups Kubernetes 클러스터는 Control plane 구성요소로 Kube Controller, Kube Scheduler 등이 있지만 가장 핵심이 되는 구성 요소는 Kube API Server 이다. 사용자는 이 API 서버에서 제공하는 API를 통하여 Kubernetes 의 모든 오브젝트를 관리할 수 있다. 또한 대부분의 API 는 kubectl 명령어 / kubeadm 명령어로도 동일한 기능을 제공한다. 다음은 파드 정보를 조회하는 명령어의 예시이다. #1. curl 명령을 통한 default 네임스페이스의 파드 조회 curl -k http://localhost:8001/api/v1/namespaces/default/pods { "kind": "PodList", "apiVersion": "v1", .. 2022. 7. 12.
KubeConfig 파일 확인하기 KubeConfig 파일 Kubernetes 클러스터는 Scheduler, Controller 등 여러 모듈로 구성되어 있으며, 사용자는 kube-apiserver 와 통신하여 클러스터의 정보를 조회하거나 파드 등의 자원을 관리한다. 이번에는 이렇게 kube-apiserver 와의 통신을 위해 필요한 KubeConfig 파일에 대해 확인해본다. 사용자는 Kube API Server 와의 안전한 통신을 위하여 TLS 인증을 사용하는 통신을 수행하게 되는데, 다음과 같은 방법을 사용한다. # curl 명령을 통한 클러스터 내 파드 리스트 조회 curl https://my-kubeapi-server:6443/api/v1/pods \ --key admin.key \ --cert admin.crt \ --cace.. 2022. 7. 11.
[Kubernetes] CKA 자격 시험 후기 *이 페이지에는 CKA 자격 시험의 과정과 후기에 대한 정리를 포함하고 있습니다. 2018년도에 CKA 자격 시험을 응시해서 취득 했었다. 초기 CKA는 자격증 유효 기간이 2년이었는데, 중간에 3년으로 변경이 되었다. 그래도 지금 다시 확인해본 자격증이 만료가 되어 있었다. 최근 Kubernetes 와 관련하여 공부하면서 보안에 대한 관심도 높아져서 이번에는 Kubernetes 의 보안 관련 자격증인 CKS (Certified Kubernetes Security Specialist) 에도 흥미가 생겼다. 문제는 CKS의 자격 시험 응시 조건으로 '만료되지 않은(Non-expired) CKA' 자격증이 필요하다. 위 CKS 자격 시험에서도 'CKA Certification must be active (n.. 2022. 5. 15.
[Kubernetes] 1-21. static pod, service 생성 정적 파드를 생성한 후에, Nodeport 타입의 서비스를 생성하여 파드를 해당 서비스로 노출 시킨다. 먼저 하단의 yaml 파일을 사용하여 파드를 생성한다. apiVersion: v1 kind: Pod metadata: labels: run: my-static-pod name: my-static-pod spec: containers: - image: nginx:1.16-alpine name: my-static-pod resources: requests: cpu: 10m memory: 20Mi dnsPolicy: ClusterFirst restartPolicy: Always --- kubectl apply -f static-pod.yaml 파드가 정상적으로 구동됨을 확인한 후에, 해당 파드를 노출하는 서.. 2022. 5. 11.