이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

반응형

Kubernetes 131

Flannel CNI 분석

Flannel CNI 분석 Flannel version : v0.12.0 기준 Flannel 분석에 필요한 기초 개념 [PodSecurityPolicy]보안 기능에 대한 정책을 정의.Pod 생성 및 업데이트에 대한 세분화된 권한을 부여.PodSecurity는 생성하는 순간 Cluster 전체에 적용됨. [ClusterRole]특정 API, 리소스에 대한 권한을 명시한 규칙의 집합kubernetes Cluster 전체에 대한 권한을 정의할 수 있음여러 namespace 에 걸쳐있는 worker node 리소스 등 자원에 대해서도 권한을 정의할 수 있음그렇기 때문에 별도 metadata에 네임스페이스 설정이 없음 [ClusterRoleBinding]ClusterRole을 사용자에게 부여하기 역할을 수행Clu..

Kubernetes/Flannel 2020.11.07

Flannel CNI Networking 분석

Flannel CNI Networking  CNI 란?CNI : Container Network Interface컨테이너 간의 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준.Kubernetes Cluster 내부는 Master Node 에 의해 여러 컨테이너가 생성 삭제 복구를 반복하고 있음그에 따라 각 컨테이너의 고정적이지 않고 재할당이 빈번함.이러한 특징을 해결하기 위해 Kubernetes Cluster는 가상 네트워크가 구성되어 있는데 기본적으로는 Worker Node 의 kube-proxy 가 네트워크를 관리하지만보다 효율적인 네트워크 환경을 구성하기 위해다양한 네트워크 관련 Addon 이 제공됨종류)Ingress, Flannel, ACI, Calico, Canal, Cilium, CNI..

Kubernetes/Flannel 2020.11.07

Kubernetes Version upgrade

Kubernetes Version upgrade  Kubernetes Version 1.18.3에서 1.19.2 Version 으로 Upgrade 과정 정리  [환경] Master Node server OS = CentOS 7 리눅스 커널 버전 : Linux 3.10.0-1062.el7.x86_64 docker version : 1.13.1 api verison : 1.26 Worker Node server OS = CentOS 7 리눅스 커널 버전 : Linux 3.10.0-1062.el7.x86_64 docker version : 1.13.1 api verison : 1.26 Kubernetes version 1.18    1. 현재 Version 확인 [명령어]kubectl version [결과]K..

Kubernetes Network Policy

Kubernetes Network Policy  Network Policy 란? Kubernetest에서 제공하는 일종의 방화벽 정책으로,Pod가 서로 통신할 때 인바운드(Inbound traffic), 아웃바운드(Outbound traffic)에 대한 설정을 할 수 있도록 해주는 정책임.즉 Pod 방화벽 설정이라고 이해하면 됨. Network Policy 는 Inbound 정책에 해당하는 ingress 설정과Outbound 정책에 해당하는 Egress 설정이 있음.  Network Policy Ingress 설정Network Inbound 즉외부에서 특정 Pod 내부로 들어오는 트래픽에 대한 방화벽 설정으로어떠한 트래픽이 Pod로 들어오는 것을 허용할 것인지 설정함. ipBlock 특정 IP 대역만 트..

Kubernetes hyperkube container

hyperkube란? kubernetes는 kube-apiserver, kubelet, kube-scheduler, kube-controller-manager, kube-proxy, kubectl과 같은 daemon / binaries로 이루어져있음.hyperkube는 위 모든 것을 뜻함. 일체형 바이너리임.hyperkube를 통해서 kubernetes 설치도 가능함.hyperkube container를 각각 apiserver, controller, proxy 형태로 실행하고 서로 바라보게 설정만 한다면 kubernetes 와 동일하게 동작할 수 있음. 또다른 hyperkube 사용 방법으로는 helm을 통해서 object를 생성하는 경우 사용하기도 함. [ helm을 통해서 object 생성 시 hyp..

Custom Resource Definition (CRD) Golang

Custom Resource Definition (CRD) Golang[Kubernetes Custom Resource 관련글 목록]Kubernetes Version 1.18 에 해당함.Kubernetes Custom Resource 개념Custion Resource Definition (CRD) PythonCustom Resource Definition (CRD) GoLang  [목표]iksoon.test.com CRD를 생성 시 choice 옵션에 mysql 또는 tomcat를 선택하면해당 image Pod가 생성되고 Service도 NodePort Type으로 자동생성되도록 함.choice 옵션에 mysql, tomcat 이외에 값이 올 경우 error 처리함. [환경] Master Node ser..

Custom Resource Definition (CRD) Python

Custom Resource Definition (CRD) Python [Kubernetes Custom Resource 관련글 목록]Kubernetes Version 1.18 에 해당함.Kubernetes Custom Resource 개념Custion Resource Definition (CRD) PythonCustom Resource Definition (CRD) GoLang 사용 개발 도구 : Python Operator SDK [목표]iksoon.test.com CRD를 생성 시 choice 옵션에 mysql 또는 tomcat를 선택하면해당 image Pod가 생성되고 Service도 NodePort Type으로 자동생성되도록 함.choice 옵션에 mysql, tomcat 이외에 값이 올 경우 ..

Kubernetes Custom Resource 개념

Kubernetes Custom Resource 개념[Kubernetes Custom Resource 관련글 목록]Kubernetes Version 1.18 에 해당함.Kubernetes Custom Resource 개념Custion Resource Definition (CRD) PythonCustom Resource Definition (CRD) GoLang   Custom Resource란?Addon은 어떻게 만들어졌을까?관리자가 더 편리하고 효율적으로 kubernetes를 관리하기 위해Kubernetes에서 기본적으로 제공해주는 기능보다 더 다양한 기능이 필요할때가 있음.그럴 때 사용했던게  Kubernetes Cluster기능을 구현 및 확장하는 역할을 담당하는 Addon이였음.그렇다면 Addon..

Validating Admission Controller

Validating Admission Controller 생성해보기[Admission Controller 관련 글목록]Kubernetes Version 1.18 에 해당함.Kubernetes Admission ControllerMutating Admission Controller 생성해보기Validating Admission Controller 예제로iksoon-ns namespace에 Pod가 생성 요청이 오면labels가 validate: allow인 경우만 pod가 생성되는 validating Admission Controller를 생성해보겠음.   0. ValidatingAdmissionWebhook 활성화 kubernetes에서는ValidatingAdmissionWebhook은 default로 ..

Mutating Admission Controller

Mutating Admission Controller 생성해보기[Admission Controller 관련 글목록]Kubernetes Version 1.18 에 해당함.Kubernetes Admission ControllerMutating Admission Controller 생성해보기Validating Admission Controller   예제로iksoon-ns namespace에 Pod가 생성이 되면mutate: admission-testlabels을 추가하고 먄약 첫번째 container가peksoon/iksoon_tomcat:1.0.6 image를 사용한다면peksoon/iksoon_mysql:1.0.2로 변경하는Mutating Admission Controller를 생성해보겠음. 0. Mut..

반응형