kubernetes 33

Blue/Green Deployment with Istio

1. 목적 이 글은 Kubernetes 기반 시스템에서 Istio를 이용하여 Blue/Green 배포를 구성하는 방법을 설명하고 있다. 구성 환경은 GCP GKE 1.18.20-gke.501 버전과 Istio 1.10.0 버전으로 Kubernetes Service mesh 환경을 구현하였다. CI/CD 툴은 Gitlab, Gitlab runner를 사용한다. 2. Blue/Green Deployment Blue/Green Deployment는 현재 운영중인 버전(Blue)과 새로운 버전(Green)의 서버들을 동시에 나란히 구성하고 배포 시점이 되면 트래픽을 일제히 전환시키는 배포 방식이다. 운영 환경에 영향을 주지 않고 실제 서비스 환경으로 새 버전 테스트가 가능하고, 빠른 롤백이 가능하다는 것이 장점..

Kubernetes 2021.08.31

Kube-proxy

Pod Network: 모든 node의 pod안에 연결되어 있는 클러스터 내부 가상 네트워크. 이 덕분에 pod간 통신이 가능 Service는 pod network에 조인이 불가능함. 이는 실체가 있는 것(Actual thing)이 아니기 때문. Service는 K8S 메모리에만 존재하는 가상의 component. kube-proxy: process that runs on each node in the kubernetes cluster kube-proxy는 새로운 service를 발견하면 각 service 뒤에 매칭되는 pod에 traffic 전달하는 규칙 생성. 각 node에 iptables 생성하여 대응되는 service와 pod IP 저장 kubeadm은 kube-proxy를 daemonset으로 ..

CKA 2021.08.30

ETCD

K8S의 distributed reliable Key-Value store 설치를 위해선 binary 받고 extract한 후 run 함 포트 2379가 기본 etcdctl : ETCD를 위한 control cli etcdctl set key1 value1 : Key setting etcdctl get key1 : Key getting kubectl get 명령어를 할 때 나오는 모든 정보들은 ETCD server에서 나옴 etcd contents Nodes Pods Configs Secrets Accounts Roles Bindings Others 저장된 정보에 업데이트가 되면 모두 etcd에서 업데이트됨 업데이트가 되어야 변경사항이 완료되었다고 여겨짐 Scratch 에 설치하면 etcd binary ..

CKA 2021.08.30