쿠버네티스 스터디1-2

이봐요이상해씨·2021년 6월 30일
0

쿠버네티스

목록 보기
2/9

1. Pod-Container, Label, NodeSchedule

* 쿠버네티스 관리방법(용어정리)

  • Master node가 존재하며, Master node에 여러개의 Pod이 묶여서 관리

    • Master node

      • Node Controller(노드를 관리한다)
    • Node

      • 자원제공 (자원 필요시 Node 추가)
    • NameSpace

      • ResourceQuota // Limitrange로 자원관리 설정을 할 수 있다.
    • Pod

      • ConfigMap // Secret으로 Pod의 환경관리를 설정할 수 있다.
        • Pod안에는 컨테이너가 존재한다
        • 컨테이너당 하나의 앱이 동작한다
        • Volume을 통해 Pod끼리 연결된다
    • Replicaset, Replication Controller

      • Pod이 죽거나 오류 장애 발생시 부활시킨다.
    • Deployment

      • Pod의 복제, 배포
    • Daemonset

      • 한 Node에 Pod이 하나만 유지되게끔 함
    • Cronjob

      • 특정작업만 실행시킨 후 Pod 종료시키게끔 하기 위해 사용

실습 Part

1. 목적
  - 직접 Pod을 생성시켜보고 각 명령어가 어떤의미로 쓰이는지 알아보기
  
  • Container

    * apiVersion: v1
       kind: Pod
       metadata:
    **     name: pod-1 //Pod 이름 설정
       spec:
         containers:
         - **name: container1 //컨테이너 이름
           image: kubetm/p8000
           ports:
           - **containerPort: 8000 //노출되어있는 포트 설정
         - name: container2
           image: kubetm/p8080
           ports:
           - containerPort: 8080
    • 정리
      • Pod
        • 컨테이너당 여러개의 Port를 갖을 순 있지만, 같은 Port번호를 갖을 순 없다(같은 Pod에서)
          이를 '호스트로 묶여있다' 라고함
        • 한 Pod 생성시 고유 IP주소 생성
          • 쿠버네티스 클러스터네에서만 접근 가능하다
          • 외부에선 접근 불가하다
          • Pod문제시 시스템에서 삭제 후 재생성 시킬시 IP도 변동된다
          • Pod의 IP는 휘발성이다!
  • Label

    • 오브젝트 목적에 따라 분류, 선택 할 수 있다.
    • (key, value)가 한쌍이다
    • 한 Pod 에 여러개의 라벨을 달 수 있다
    • 서비스에 해당 라벨을 선택하여 연결을 파악 할 수 있다
  • Pod
      labels:
        type: web // 타입 지정
        lo: dev
  • Service
         spec:
         selector:
           type: web // 해당타입의 Pod과 연결
  • NodeSchdule

    • 두가지방법으로 생성 가능, 지정가능하다

      • 직접 선택방법
        spec:
      			   nodeSelector:
      	kubernetes.io/hostname: k8s-node1
      • 쿠버네티스 스케쥴러가 직접 지정(시스템이 Pod가 생성시 요구되는 자원을 파악하여 적절한 Node에 배치)
       resources:
        requests: //메모리가 넘어도 pod을 종료시키진 않음
          memory: 2Gi
        limits: //메모리의 경우 리미트가 넘으면 바로 pod종료
          memory: 3Gi

0개의 댓글