[Bespin] 배포

배포

쿠버네티스

컨테이너 관리 시스템

도커
도커 이후
컨테이너 오케스트레이션

복잡한 컨테이너 환경 관리

쿠버네티스

용어

master, node, k8s, kubectl, etcd, pod, istio, helm, knative

  1. :star: 원하는 상태

    Ovserve -> Diff -> Act의 상태를 자동으로 확인

  2. :star:Object

    • 컨테이너

      Pod

    여러개의 컨테이너가 하나의 Pod에 속할 수 있음

    ​ ReplicaSet

    여러개의 Pod을 관리

    버전을 여러 개 사용

    ​ 다양한 workload 존재

    • Service

      ClusterIP

      pod을 알아서 설정

      쿠버네티스 안에서만 접속 가능

      NodePort

      노드에 노출되어 외부에서 접근 가능한 서비스

      대량의 컨테이너 관리를 위해

  3. :star:API 호출

    • Object Spec - YAML

      apiVerison, kind, metadata, spe, status(시스템에서 관리하는 최신 상태)

    • 원하는 상태를 다양한 오브젝트로 정의하고 API 서버에 yaml 형식으로 전달

  4. :star:구성/설계 Architecture

    • Server - Agent

      관리자가 master에 명령을 내리면 알아서 Agent에 전달

      :one:Master

      • etcd

        모든 데이터 저장

        빨라야 함

      • API server

        etcd와 유일한 통신

        상태를 바꾸거나 조회

        권한 체크

      • scheduler

        Pod을 적절한 노드에 배치하는 역할

      • Controller

        많은 상태 체크

      조회 흐름

      Controller -> API Server(권한 체크) -> etcd(정보 조회 & 정보 전달) -> API server -> Controller

      :two:Node

      • proxy

        부하 분산

      • kublete

        Podt 생성, 삭제

      • container (Pod)

        다양한 컨테이너 지원