본문 바로가기

반응형

Kubernetes

(62)
[Kubernetes] Pod 환경변수 설정과 실행 패턴 환경변수 - Pod 내의 컨테이너가 실행될 때 필요로 하는 변수 - 컨테이너 제작 시 미리 정의 NGINX Dockerfile의 예 ENV NGINX_VERSION 1.19.2 ENV NJS_VERSION 0.4.3 - Pod 실행 시 미리 정의된 컨테이너 환경변수를 변경할 수 있다. # cat pod-nginx-env.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod-env spec: containers: - name: nginx-container image: nginx:1.14 ports: - containerPort: 80 protocol: TCP env: - name: MYVAR value: "testvalue" 환경변수 "MYVAR=testval..
[Kubernetes] Pod에 Resource 할당하기 Pod Resource 요청 및 제한 Resource Requests - 파드를 실행하기 위한 최소 리소스 양을 요청 Resource Limits - 파드가 사용할 수 있는 최대 리소스 양을 제한 - memory limit을 초과해서 사용되는 파드는 종료(OOM Kill) 되며 다시 스케줄링 된다. requests 설정 apiVersion: v1 kind: Pod metadata: name: nginx-pod-resource spec: containers: - name: nginx-container image: nginx:1.14 ports: - containerPort: 80 protocol: TCP resources: requests: memory: 500Mi cpu: 1 kubectl describ..
[Kubernetes] static Pod 만들기 static container - API에게 요청 보내지 않음 - kubelet Daemon에 의해 동작되는 Pod - API 서버 없이 특정 노드에 있는 kubelet 데몬에 의해 직접 관리 - /etc/kubernetes/manifests/ 디렉토리에 k8s yaml 파일을 저장 시 적용됨 - static pod 디렉토리 구성 # vi /var/lib/kubelet/config.yaml ... staticPodPath: /etc/kubernetes/manifests 디렉토리 수정시 kubelet 데몬 재실행 # systemctl restart kubelet staticPodPath: /etc/kubernetes/manifests 확인 가능 cat /var/lib/kubelet/config.yaml a..
[Kubernetes] Kubernetes 1.2 version 부터 Docker 사용 중단 Kubernetes 1.2 version 부터 Docker 사용 중지(deprecation) 쿠버네티스는 컨테이너 런타임과 통신할 때 CRI 라는 표준 인터페이스 API를 사용하지만 Docker는 이를 지원하지 않습니다. 이런 이유로 쿠버네티스는 "dockershim"라는 브리지 용 서비스로 Docker API와 CRI의 변환을 해주었으나, 이것이 deprecation 되면서 앞으로 마이너 릴리스 된 후에 삭제 예정입니다. 쿠버네티스에서 dockershim가 사용 중지 되면서 자동으로 Docker 할 수 없게 되었습니다. 이제 쿠버네티스에서는 CRI를 지원하는 컨테이너 런타임만 사용하게 됩니다. CRI에 지원하는 컨테이너 런타임은 cri-o와 continerd 가 있습니다. 1. 쿠버네티스는 왜 도커 지..
[Kubernetes] Pod - init container & infra container init container를 적용한 Pod - 앱 컨테이너 실행 전에 미리 동작시킬 컨테이너 - 본 contrainer가 실행되기 전에 사전 작업이 필요할 경우 사용 - 초기화 컨테이너가 모두 실행된 후에 앱 컨테이너 cat init-container-exam.yaml apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: containers: - name: myapp-container image: busybox:1.28 command: ['sh', '-c', 'echo The app is running! && sleep 3600'] initContainers: - name: init-myservice image: busyb..
[Kubernetes] Pod - livenessProbe Liveness Probe - pod가 계속 실행할 수 있음을 보장 - Pod의 spec에 정의 # pod-definitaion apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx-container image: nginx:1.14 # livenessProbe-definitaion apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx-container image: nginx:1.14 livenessProbe: httpGet: path: / port: 80 Liveness Probe 매커니즘 1. httpGet prob..
[Kubernetes] Pod 란? Pod 란? 컨테이너를 표현하는 k8s API의 최소 단위 Pod에는 하나 또는 여러개의 컨테이너가 포함될 수 있음 Pod yaml을 이용하여 생성 (nginx-pod.yaml) apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx-container image: nginx:1.14 ports: - containerPort: 80 protocol: TCP Pod 실행 # kubectl create -f nginx-pod.yaml pod/nginx-pod created 현재 동작중인 Pod 확인 # kubectl get pods NAME READY STATUS RESTARTS AGE nginx-pod 1/1 Run..
[Kubernetes] kubeadm init 실행시 unknown service runtime.v1alpha2.RuntimeService 발생 Kubernetes 설치중 kubeadm init 명령어 실행시 아래와 같은 에러가 발생할 수 있다. # kubeadm init [init] Using Kubernetes version: v1.25.4 [preflight] Running pre-flight checks error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: E1123 22:39:08.027506 12107 remote_runtime.go:948] "Status from runtime service failed" err="rpc error: code = Unimplem..

반응형