728x90

컨테이너 10

Kubernetes 기초 - Pod(4)

Pod 개념(복습) 및 사용livenessProbe를 사용한 self-healing Podinit container      ←   오늘 볼 내용infra container(pause) 이해      ←   오늘 볼 내용static pod 만들기Pod에 resource 할당환경변수를 이용해 컨테이너에 데이터 전달pod 구성 패턴의 종류3. init containerInit Container(초기화 컨테이너)는 파드 내의 어플리케이션(main) 컨테이너가 시작되기 전에 실행되는 특수한 종류의 컨테이너다.Init Container는 주로 어플리케이션(main) 컨테이너가 실행되기 전에 필요한 초기화 작업을 수행하는 데 사용된다.초기화 작업이 완료되면 Init Container는 종료되고, 어플리케이션(mai..

Kubernetes 2023.12.07

Kubernetes 기초 - 동작 원리

쿠버네티스란동작원리참고로 그림을 그릴 손재주가 없어서 글밖에 없다.필요하면 '쿠버네티스 아키텍처'를 검색해보길 바란다.  1. 쿠버네티스(Kubernetes)란쿠버네티스는 그리스어로 조타수라는 의미다.마치 선박을 운행하는 조타수가 컨테이너들을 싣고 원하는 곳으로 항해를 하듯이 쿠버네티스는 컨테이너들을 배포 및 확장, 관리하는 오케스트레이션을 수행한다.  컨테이너란 요약 : 가볍다. 컨테이너는 어떠한 소프트웨어(애플리케이션)를 실행하기 위한 격리된 환경을 제공하는 운영체제 수준 경량 가상화 기술이다.컨테이너는 가상 머신과 같이 동작을 하지만 가상 머신보다 더 가벼운 용량을 가진다.일반적으로 가상 머신은 하드웨어 가상화 기술로 하이퍼바이저 위에서 운영체제가 개별 설치되어 그 운영체제 위에서 소프트웨어를 실행..

Kubernetes 2023.12.06

23.9.7(목) 쿠버네티스 9일차

https://kubernetes.io/ko/docs/concepts/scheduling-eviction/assign-pod-node/ 노드에 파드 할당하기 특정한 노드(들) 집합에서만 동작하거나 특정한 노드 집합에서 동작하는 것을 선호하도록 파드를 제한할 수 있다. 이를 수행하는 방법에는 여러 가지가 있으며 권장되는 접근 방식은 모두 레이 kubernetes.io 1. Affinity Affinity 종류 1. NodeAffinity 어느 노드에 파드를 만들 것인지 선호도를 지정 1-1. anti-affinity affinity의 반대, 선호하지 마라 2. PodAffinity 어느 파드에 컨테이너를 만들 것인지 선호도를 지정 선호도 1. required 선호되는 노드를 지정할 때 강제로 지정 2. p..

Kubernetes 2023.09.07

23.9.6(수) 쿠버네티스 8일차

https://kubernetes.io/ko/docs/concepts/configuration/configmap/ 컨피그맵(ConfigMap) 컨피그맵은 키-값 쌍으로 기밀이 아닌 데이터를 저장하는 데 사용하는 API 오브젝트이다. 파드는 볼륨에서 환경 변수, 커맨드-라인 인수 또는 구성 파일로 컨피그맵을 사용할 수 있다. 컨피그맵 kubernetes.io 1. ConfigMap 환경변수와 같은 설정값을 파드에 전달하여 적용시키기 위한 오브젝트 1. 환경변수를 deployment안에 다 포함하여 넣는 방법 cat t1_mysql_configmap.yaml apiVersion: apps/v1 kind: Deployment metadata: name: mysql spec: selector: matchLabe..

Kubernetes 2023.09.06

23.9.4(월) 쿠버네티스 7일차

https://kubernetes.io/ko/docs/concepts/services-networking/ingress/ 인그레스(Ingress) URI, 호스트네임, 경로 등과 같은 웹 개념을 이해하는 프로토콜-인지형(protocol-aware configuration) 설정 메커니즘을 이용하여 HTTP (혹은 HTTPS) 네트워크 서비스를 사용 가능하게 한다. 인그레스 개념은 kubernetes.io ingress : 외부에서 내부로 접근하기 위한 API 오브젝트 클러스터 내의 서비스에 대한 외부 접근을 관리하는 API 오브젝트이며, 일반적으로 HTTP를 관리함. 인그레스는 부하 분산, SSL 종료, 명칭 기반의 가상 호스팅을 제공할 수 있다. ingress 오브젝트를 사용하기 위해서 반드시 인그레스..

Kubernetes 2023.09.04

23.9.1(금) 쿠버네티스 6일차

job은 리눅스의 크론데몬과 비슷한 형태로 컨테이너의 작업예약 및 실행주기에 관여한다. https://kubernetes.io/ko/docs/concepts/workloads/controllers/job/ 잡 잡에서 하나 이상의 파드를 생성하고 지정된 수의 파드가 성공적으로 종료될 때까지 계속해서 파드의 실행을 재시도한다. 파드가 성공적으로 완료되면, 성공적으로 완료된 잡을 추적한다. 지정 kubernetes.io apiVersion: batch/v1 kind: Job metadata: name: job-example spec: completions: 6 parallelism: 3 activeDeadlineSeconds: 15 # 15초 내로 시작하지 않으면 강제로 종료해라 template: spec: ..

Kubernetes 2023.09.01

23.8.28(월) 쿠버네티스 2일차

쿠버네티스 사용법 k get pod -o yaml kubectl logs nginx k get nodes,pods,deployments,namespaces # 모든 정보 출력 k delete pods --all # 모든 pods 삭제 # 기본적으로 pod을 삭제하더라도 deploy가 남아있기 때문에 다시 재생성된다. k delete deploy --all # 모든 deploy 삭제 kubectl run webserver --image=nginx:latest --port=80 kubectl exec webserver -- cat /etc/hostname kubectl exec webserver -- cat /etc/hosts k exec -it webserver -- /bin/bash # webserver..

Kubernetes 2023.09.01

23.8.29(화) 쿠버네티스 3일차

Local : pods를 특정 node로 지정해서 사용가능 persistant : cluster의 생명주기와 동일 cluster 내 의 pod 사이에 공유가능 volume : pod의 생명주기와 동일 pod내의 Container끼리 공유가능 PV(persistant volume) PVC(persistant volume claim) : PV와 Pod을 매핑하고 연결해주는 역할 (중간자 역할) #--------------------------vl-emptydir.yaml-------------------------- cat vl-emptydir.yaml apiVersion: v1 kind: Pod metadata: name: sidecar spec: containers: - name: app image: b..

Kubernetes 2023.09.01

23.8.30(수) 쿠버네티스 4일차

https://kubernetes.io/ko/docs/concepts/workloads/pods/pod-lifecycle/ 파드 라이프사이클 이 페이지에서는 파드의 라이프사이클을 설명한다. 파드는 정의된 라이프사이클을 따른다. Pending 단계에서 시작해서, 기본 컨테이너 중 적어도 하나 이상이 OK로 시작하면 Running 단계를 통과하 kubernetes.io apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx:1.14 name: nginx livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: Pod 실행후 delay할 시간 periodSeconds: ..

Kubernetes 2023.09.01

23.8.31(목) 쿠버네티스 5일차

https://kubernetes.io/ko/docs/concepts/workloads/ 워크로드 쿠버네티스에서 배포할 수 있는 가장 작은 컴퓨트 오브젝트인 파드와, 이를 실행하는 데 도움이 되는 하이-레벨(higher-level) 추상화 kubernetes.io 쿠버네티스에서 구동되는 애플리케이션이며 파드를 생성 및 관리 쿠버네티스에서는 워크로드를 일련의 파드 집합 내에서 실행 쿠버네티스에서 Pod 는 클러스터에서 실행 중인 컨테이너 집합을 의미함 ReplicationController cat

Kubernetes 2023.09.01
728x90