1. Network Policy Network Policy는 쿠버네티스의 Pod에 적용할 수 있는 방화벽 정책 기능이라고 볼 수 있다. 기본적으로 쿠버네티스 클러스터 내부의 모든 파드와 객체간에는 네트워크 상으로 통신이 가능하다. 감사나 내부 정보보안 규정으로 Web 서버에서 DB서버로의 접근을 차단해야 하는 경우와 같은 상황에서 사용할 수 있다.적용하는 Pod 기준으로 들어오는 트래픽을 Ingress, 나가는 트래픽을 Egress라고 한다. #policy-definition.yaml apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: db-policy spec: podSelector: matchLabels: role: db poli..
1. API Groups 권한관리를 이해하기 전에 API Groups에 대해 알아야 한다. kube-apiserver는 [API]-[Resources]-[Verbs] 구조로 API를 제공한다. 예를 들어 가장 자주 사용하는 kubectl get deployment 커맨드를 보면 /apps/v1/deployments/get를 호출하는 것을 알 수 있다. 이 동작과 관련된 API를 이해해야 권한을 관리 할 수 있다. 2. Authorization 앞선 인증 절차를 거쳐 접근을 허용한 사용자가 어떤 동작까지 수행할 수 있는지에 대해 관리하는 것이 권한 관리이다. 권한 모드에는 6가지가 있고 kube-apiserver의 yaml 파일에서 설정할 수 있다. NODE : 클러스터의 다른 노드(kubelet)에 대한..
1. 백업 대상 1-1. 리소스 설정 파일 yml 파일을 github과 같은 리파지터리를 이용한다면 별도 백업을 걱정할 필요없고 장애 시에 설정 파일을 이용해 복구가 가능하다. 그러나 명령어를 통한 선언적 방식으로 객체들을 생성했다면 yml 파일이 남아있지 않을 것이다. 이 때는 kube-apiserver에 질의하여 현재 설정된 모든 값들을 파일로 생성할 수 있다. 이런 질의와 설정파일 백업을 해주는 상용툴(VELERO 등)도 있다. kubectl get all —all-namespaces -o yaml > all-deploy-services.yaml 1-2. ETCD 클러스터 다른 방법으로는 현재 상태값에 대한 데이터가 저장되어 있는 ETCD 클러스터 자체를 백업하는 방법이 있다. etcd 클러스터가 ..
1. OS 업그레이드 노드가 다운되었다고 가정해보자. 클러스터는 해당 노드가 복구되는 대로 파드를 재기동 시킬려고 할 것이다. 만약 5분동안 노드가 복구되지 않는다면 클러스터 매니저는 노드가 복구 불가 상태라고 판단하고 다른 노드에 파드를 올린다. (이때의 5분이라는 시간은 pod-eviction-timeout 값으로 컨트롤러 매니저에서 설정할 수 있다.) 노드의 OS를 업그레이드 하려면 다운타임이 필요한데 해당 노드에만 올라가 있고 replica가 없는 단일 파드는 다른 노드에서 자동 실행이 되지 않는다. 따라서 OS 업그레이드를 할떄는 우선 kubectl drain node-1 명령어로 해당 노드에 있는 파드들을 내리고 다른 노드에서 실행하도록 해야한다. drain이 실행된 노드는 별도 명령을 내리기..
1. Rollout이란 Rollout은 어플리케이션의 변경 내용을 적용하고 업데이트 이력 관리를 하는 것을 말한다. Rolling Update Strategy로는 두가지가 있다. 1) Recreate 모든 레플리카를 종료하고 새 버전으로 실행한다. 이 때 어플리케이션 다운이 발생한다. 2) Rolling Update 레플리카의 일부분씩 rolling update를 수행하여 어플리케이션 중단이 없도록 하는 방법이다. 디폴트 배포 방법. 한번에 다운시키는 레플리카 수는 RollingUpdate에서 설정 가능하다. maxSurge : 매회 새로 추가할 신규 버전의 파드 수, 정수 혹은 비율(%)로 지정 가능 maxUnavailable : 매회 제거할 기존 버전의 파드 수, 정수 혹은 비율(%)로 지정 가능 r..
1. Bonding이란 Linux Kernel에 내장된 기술로 복수의 NIC를 논리적으로 하나의 interface로 묶어서 NIC의 물리적 장애에 대응하거나 처리량을 늘리는 기술이다. bonded된 NIC의 동작 방식은 mode의 설정에 달려 있다. bonding kernel module을 이용하여 bonding 된 NIC는 channel bonding interface라고 불리운다. 기본 round-robbin 방식으로 구성(수신은 2배지만, 발신은 번갈아가며) Active - Standby 구성 가능 반드시 NetworkManager.Service를 stop 후 설정하여야 한다. Windows의 Teaming과 동일한 개념 2. Bonding 설정 2개의 Network 확인 ip a NetworkMa..