CKA Study Day2

김건호·2023년 3월 27일
0

18-27

kubelet

배의 선장으로 예시를 들 수 있음

master 와 연락하여, 선박과 컨테이너 상태 보고
워커노드가 클러스터로 노드를 등록 ->요청하면 이미지 끌어와 인스턴스 실행

역할

  • Register Node
  • Create PODs
  • Monitor Node & PODs

구성방법

kubeadm으로 설치하더라도 자동으로 설치되지 않음 -> pod가 아님
수동으로 kubelet 설치해야 함❗


kube-proxy

쿠버네티스 클러스터 내의 파드끼리 통신 가능 -> 네트워크로 솔루션이 배포되어 있음

  • 모든 노드에 걸쳐있음
  • 네트워크 배포 솔루션 많음
    앱의 포트 IP 같을 수 없음

IP주소로 서비스에 접근 할때마다 트래픽을 백엔드 파드로 보냄

서비스 접근 불가 실제것이 아니라 인터페이스 x
쿠버네티스 가상요소 서비스 가로질러 액세스 -> 프록시
쿠버네티스 클러스터의 각 노드에서 실행 되는 프로세스

새서비스를 찾아주는 새 서비스가 생성될 때마다 각 노드에 적절한 규칙을 만들어 전달 백엔드 파드로 향하는 트래픽을 만듬

iptables 규칙을 이용 각 노드에 규칙을 만들어 서비스의 아이피로 요청을 보냄

구성방법

kubeadm이 ds로 배포 각 노드로 배포


pod

쿠버네티스 궁극적 목표 클러스터에 컨테이너 배포
쿠버네티스 직접 배포 x
파드 응용프래그램의 단일 요소 -> 쿠버네티스에서 가장 작은 요소

추가 인스턴스가 필요한 경우 -> 같은 프로그램의 파드를 만듬
새노드에 파드 배치 가능

파드 앱과 일대일 관계
스케일업 -> 파드 새로운 생성 (기존 파드에 추가 컨테이너 생성이 아님)

파드 컨테이너 일대일 연결 -> 멀티 컨테이너도 가능

Helper 컨테이너 : 두 컨테이너를 같은 파드에 가질 수 있음

  • 로컬호스트라는 네트워크로 서로 직접 통신 가능 네트워크 공간 공유
  • 같은 저장소 공간 쉽게 사용 가능

kubectl

kubectl run nginx 파드를 생성하여 실행
이미지는 어디서? 이미지 매개 변수를 이용해 이미지 이름을 명시 -> 도커허브 레포지토리에서 pull

파드 생성하는 법

쿠버네티스 리소스는 항상 4개 필드 포함
apiVersion, kind, metadata, spec -> yaml에 반드시 있어야함
apiVersion : 리소스 생성시 사용하는 쿠베 API 버전
kind :만드려는 리소스 유형
metadata : 리소스의 데이터 이름이나 라벨 -> 딕셔너리 형태

메타데이터는 정해진 속성만 추가가능
레이블은 직접 추가 가능 마음대로

spec : 리소스에 대한 추가 설정
딕셔너리
컨테이너라는 속성 추가

contianers -> list Array
대시 - 첫 번째 항목 -> 딕셔너리

kubectl create -f pod-definition.yaml

파드 만들고

kubectl get pods 파드 목록 확인

kubectl describe po podname 자세한 정보
언제 만들어졌는지 어떤 label 어떤 도커 컨테이너, 이벤트도

yaml 파일을 활용한 파드 배포

vim pod.yaml
apiVersionL v1
kind: Pod (대소문자 중요)
metadata: 
  name: nginx
  labels: 
    app: nginx
    tier: frontend
spec:
  containers:
  - name: nginx
    image: nginx < 사용할 이미지 디폴트는 도커허브 다른 레포 사용하려면 직접지정   

kubectl apply -f pod.yaml
kubectl get pods
kubectl describe pod nginx

yaml 배포 요령

시작으로 랩 접근 오래걸릴수 있음

왼쪽에 퀴즈 포털 오른쪽에 터미널

vi 편집기로 사용

정확히 일치하는 구성만들기
새로운 터미널도 생성 가능

테스트는 몇번이고 사용가능 1시간만 사용가능
힌트나 솔루션이 있음

Labs로 시작하는
다크모드도 가능

pratice test - pods

profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글