728x90 반응형 SMALL App Programming/Kubernetes17 [K8s] 매니페스트로 디플로이먼트 실행 매니페스트 파일 작성 kubectl delete deployment deploy-nginxapiVersion: apps/v1 # 해당 오브젝트를 생성하기 위해 사용하는 쿠버네티스 API 버전kind: Deployment # 생성하고 싶은 오브젝트 종류metadata: # 오브젝트를 유일하게 식별할 수 있는 데이터 name: deploy-test01 # 오브젝트 이름spec: # 생성하고자 하는 오브젝트의 스펙 replicas: 3 # 복제된 (replicated) 파드 3개를 생성하는 레플리카셋 생성 selector: # 레플리카셋이 어떤 파드를 관리할지 정의 matchLabels: # 파드 템플릿의 라벨 (label)을 통해 레플리카셋이 관리할 파드를 정의 app: we.. 2024. 6. 8. [K8s] 리플리카셋 조정 리플리카셋 조정 레플리카셋은 사용자가 지정한 개수만큼 복제 파드를 생성해주고 복제 컨트롤러를 이용해 해당 개수의 복제 파드가 정상 실행 중인지 항상 감시한다. kubectl create deployment deploy-nginx --image=nginx --replicas=3kubectl get deploy,rs,pokubectl get deploy,rs,po -o wide 파드 삭제 후 재생성 kubectl delete pod {파드 이름} 파드가 재생성되는 것을 확인할 수 있다. 2024. 6. 8. [K8s] 디플로이먼트 (Deployment) 디플로이먼트 (Deployment) 디플로이먼트는 파드 (pod)와 레플리카셋 (ReplicaSet)에 대한 선언적 업데이트를 제공한다 (ex: 파드 상태 업데이트, 스케일 업 등). 디플로이먼트를 활용해 새로운 레플리카셋을 생성하거나 기존에 존재하는 디플로이먼트를 제거하고 새로운 디플로이먼트를 선언할 수 있다. 레플리카셋을 직접적으로 관리하는 것은 안된다. 레플리카셋 (ReplicaSet) 레플리카셋은 여러 개의 파드를 항상 안정적으로 유지하는 것이 목적이다. 레플리카셋은 주로 특정 개수의 파드 실행을 보장하는데 사용한다. 예를 들어, 3개의 파드가 실행되어야 할 때, 3개 중 1개가 정지되면 새로운 파드를 생성해서 3개 파드의 개수를 맞춘다. 디플로이먼트는 레플리카셋보다 상위 개념이다. 디플로이.. 2024. 6. 8. [K8s] 매니페스트 (Manifest) 매니페스트 (Manifest) 매니페스트란 쿠버네티스 오브젝트를 생성하기 위한 메타 정보를 YAML로 기술한 파일이다. vim nginx-test01.ymlapiVersion: v1 # 해당 오브젝트를 생성하기 위해 사용하는 쿠버네티스 API 버전kind: Pod # 생성하고 싶은 오브젝트 종류metadata: # 오브젝트를 유일하게 식별할 수 있는 데이터 name: nginx01 # 오브젝트 이름spec: # 생성하고자 하는 오브젝트 스펙 containers: # 컨테이너 - name: nginx-test01 # 컨테이너 이름 image: nginx:latest # 컨테이너 생성을 위해 사용할 이미지kubectl apply -f {파일 이름}apply 명령어는 쿠버네티스 리소.. 2024. 6. 8. [K8s] 쿠버네티스 설치 (2) 쿠버네티스 마스터 노드 설정 kubeadm certs check-expirationkubeadm config images listkubeadm config images pull --cri-socket /run/containerd/containerd.sockkubeadm init --apiserver-advertise-address={프라이빗IP} --pod-network-cidr=192.168.0.0/16 --cri-socket /run/containerd/containerd.sock 다음 명령어로 root에서 빠져 나온다. kubeadm certs check-expirationexit calico 설치 mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.con.. 2024. 6. 8. [K8s] 쿠버네티스 설치 (1) swap 메모리 비활성화 modprobe : 리눅스 커널 모듈 관리 도구, 특정 모듈을 로드하거나 제거 가능br_netfilter : 네트워크 패킷 처리 관련 커널 모듈, iptables / netfilter 규칙을 적용되게 한다. 즉, 컨테이너와 호스트 간의 인터페이스 등에서 발생하는 트래픽에 대해 규칙을 적용하여 트래픽을 관리한다. sudo modprobe br_netfiltersudo sysctl net.bridge.bridge-nf-call-iptables=1sudo sysctl net.ipv4.ip_forward=1sudo vim /etc/sysctl.confnet.bridge.bridge-nf-call-iptables=1net.ipv4.ip_forward=1cat /proc/swaps cont.. 2024. 6. 8. 쿠버네티스 (Kubernetes) 쿠버네티스 (Kubernetes) 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스란 명칭은 키잡이 (helmsman)나 파일럿을 뜻하는 그리스어에서 유래했다. 구글이 2014년에 쿠버네티스 프로젝트를 오픈소스화했다. 쿠버네티스는 원래 Google 엔지니어들이 개발하고 설계한 오픈 소스 컨테이너 오케스트레이션 툴이다. 2015년에 Google은 새로 설립된 클라우드 네이티브 컴퓨팅 재단 (Cloud Native Computing Foundation)에 쿠버네티스 프로젝트를 기부했다. K8s라는 표기는 "K"와 "s"와 그 사이에 있는 8글자를 나타내는 약식 표기이다. 쿠버네티스는 프로덕션 워크로드를 대규모로 운영하는 15년 이상의 구글 .. 2023. 7. 11. 이전 1 2 다음 728x90 반응형 LIST