ubuntu53 [k8s] LivenessProbe를 이용해서 Self-healing Pod 생성 Liveness Probe란? pod가 계속 실행할 수 있음을 보장 pod의 spec에 정의 apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx name: nginx spec: containers: - image: nginx:1.14 name: nginx livenessProbe: //추가 httpGet: path: / port: 80 ports: - containerPort: 80 resources: {} dnsPolicy: ClusterFirst restartPolicy: Always status: {} LivenessProbe 매커니즘 httpGet probe : 지정한 IP주소, port, path에 HTTP .. 2022. 9. 13. [K8s] Container 정리와 Single / Multi Container Pod 생성 Pod란? container를 표현하는 k8s API의 최소 단위 pod에는 하나 또는 여러 개의 container가 포함될 수 있음 kubectl run 명령(CLI)으로 생성 pod yaml을 이용하여 생성pod 생성 방법 Single-container pod 생성 CLI kubectl run NAME --image=nginx:1.14 --port=80 yaml template kubectl create -f pod-nginx.yaml vi pod-nginx.yaml apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx name: nginx spec: containers: - image: nginx:1.14 name.. 2022. 8. 29. [K8s] kubernetes namespace, yaml template Namespace란? k8s API중 하나 cluster 하나를 여러 개의 논리적인 단위로 나눠서 사용 k8s cluster 하나를 여러 팀이나 사용자가 공유 용도에 따라 실행하야 하는 app을 구분할 때 사용 -namespace , n 옵션을 사용해서 원하는 namespace에 pod 생성 가능 Namespace 생성 CLI blue라는 이름의 namespace 생성 및 확인 kubectl create namespace blue yaml green이라는 이름의 namespace 생성 kubectl create namespace green --dry-run -o yaml > green-ns.yaml vi green-ns.yaml apiVersion: v1 kind: Namespace metadata: n.. 2022. 8. 25. [K8s] kubernetes 동작 원리 Master component etcd key-value 타입의 저장소 worekr node의 상태정보 저장 kube-apiserver k8s API를 사용하도록 요청을 받고 요청이 유효한지 검사 kube-scheduler pod를 실행할 node 선택 kube-controller-manager pod를 관찰하며 개수를 보장 Worker node component kubelet 모든 node에서 실행되는 k8s 에이전트 daemon 형태로 동작 cAdvisor 포함 kube-proxy k8s의 network동작을 관리 iptables rule을 구성 container runtime container를 실행하는 engine docker, containerd, runc Add-on network add-on.. 2022. 8. 16. [k8s] kubernetes 설치 (containerd 사용) kubeadm k8s에서 공식 제공하는 클러스터 생성/관리 도구 kubespray k8s 클러스터를 배포하는 오픈소스 프로젝트 다양한 형식으로 쿠버네티스 클러스터 구성 가능 on-premise에서 상용 서비스 클러스터 운영 시 유용 다양한 CNI 제공 CNI (Container Network Interface) container간 통신을 지원하는 VxLAN pod network라고도 부름 다양한 종류의 플러그 인이 존재 Control plane (Master node) worker node들의 상태를 관리하고 제어 single master multi master(3, 5개의 master nodes) Worker node docker platform을 통해 container를 동작하며 실제 서비스 제공 [.. 2022. 8. 8. [Docker] Docker-compose를 사용하여 빌드부터 운영 Docker-compose란? 여러 container를 일괄적으로 정의하고 실행할 수 있는 tool container화 된 application들을 통합 관리 할 수 있음Overview of Docker Compose 참고 yaml file 문법 (Compose file version 2 reference , Compose file version 3 reference 참고) version : compose version version에 따라 지원 문법이 다름. service : compose를 이용해서 실행할 container option을 정의 build : container build image : compose를 통해 실행할 image를 저장 command : container에서 실행될 명령어 지.. 2022. 7. 25. [Docker] Container간 통신 (네트워크) Docker0 란? virtual ethernet bridge : 172.17.0.0/16 L2 통신 기반 container 생성 시 veth 인터페이스 생성(sandbox) 모든 container는 외부 통신을 docker0를 통해 진행 container running 시 172.17.X.Y로 IP 주소 할당 static IP 할당 불가능 iptables를 통해 NAT, Port-forwarding 지원 ip addr command로 확인 가능 Docker port-forwarding conatiner port를 외부로 노출시켜 외부 연결 허용 iptables rule를 통한 port 노출 -p hostPort:containerPort -p containerPort : host에는 random port.. 2022. 7. 18. [Docker] Docker container storage container image는 read only container에 추가되는 data들은 별도의 rw layer에 저장 Union file system (Overlay) 기술로 가능 container가 만들어주는 data (rw layer)를 영구적으로 보존할 필요가 있음 Volume mount를 통해서 container끼리 data 공유 가능 Container vulume option -v : -v :: -v Docker volume과 관련된 command docker volume [command] [ Hands - on ] Mysql DB data 영구 보존 - Host path 설정한 경우 Mysql container 생성 docker run -d --name db -v /dbdata:/var/li.. 2022. 7. 11. 이전 1 ··· 3 4 5 6 7 다음