728x90

Kubernetes 60

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.25(금) 쿠버네티스 1일차

쿠버네티스는 그리스어로 조타수라는 의미를 가지고 있다. 쿠버네티스 기초 설정 1. 호스트 이름 변경 master, node1, node2, node3 2. 각 IP는 다음과 같다. 192.168.108.20/24 master 192.168.108.21/24 node1 192.168.108.22/24 node2 192.168.108.23/24 node3 3. root 암호 설정] echo -e 'root:dkagh1.\nroot:dkagh1.' | chpasswd 4. LVM으로 디스크 확장 (생략가능) pvcreate /dev/sdb vgextend ubuntu-vg /dev/sdb lvextend -l +100%FREE -n /dev/ubuntu-vg/ubuntu-lv # 사이즈 재조정 resize2f..

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