Kubernetes

2024. 12. 16. 21:30·KT AIVLE School/가상화 클라우드

Container Orchestration : 다수의 컨테이너를 다수의 시스템에서 관리

Kubernetes(K8S) : 컨테이너형 애플리케이션의 배포, 확장, 관리를 자동화하는 오픈소스 Orchestration 시스템 

Kubectl : 이를 통해 컨테이너에서 실행중인 쉘에 접근가능

 

Cluster : Mater Node + Worker Node의 집합(물리, 가상 환경의 노드 집합)

- Mater Node

  • Control plane : 제어만 하는 곳 = 마스터 노드 하나
  • API Server : Master Node의 중심에서 모든 클라이언트와 구성요소로부터의 요청을 받아 처리(중심)
  • Scheduler : 컨테이너(파드)의 생성이 요청되면 컨테이너의 노드 결정하여 분배
  • Controller Manager : 추가옵션 요청 시에 클러스터의 상태(유지, 업글 등)를 조절하는 컨트롤러 생성, 배포
  • ETCD : 클러스터 내 모든 구성 데이터를 저장하는 저장소

- Worker Node

  • Container Runtime : Container를 배포하고 이미지를 관리
  • kubelet(팀장) : 클러스터 내 각 노드에서 실행되는 에이전트 > 보고서 작성 후 ETCD에 저장
  • kube-proxy : 네트워크 통신을 관리하고 트래픽을 라우팅

 

AKS(PaaS) : Azure가 control plane을 관리하기 때문에 데이터 Node만 고객이 관리한다.

컨테이너에 들어갈 파일은 Azure 디스크와 Azure file중에 고를 수 있음! 

 

컨테이너 배포, 통신 볼륨관리

기본 오브젝트 : Pod, Service, Namespace

Controller Object : Spec(사용자가 지정한 필드)이나 Status(현재 상태를 출력하는 필드)로 변경하거나 클러스터의 상태를 관찰하고 필요한 오브젝트를 생성, 변경하는 오브젝트

 

1. Kubernetes 만들기

 

- 노드 풀 이름 설정

- 모드 : 시스템

- Ubuntu Linux

- 가용성 영역 1,2,3

- 노드 크기 : D2as_v4

- 최소 노드 수, 최대 노드 수 : 2,3

- 노드당 최대 Pod : 250

- 노드당 공용 IP 사용 : 체크

다음

 

- 자체 Azure 가상 네트워크 사용 : 체크

가상 네트워크 : 만든거 사용 vnet1

서브넷 : default(10.0.10.0/24)

Kubernetes 서비스 주소 범위 : 192.168.0.0/16

Kubernetes DNS 서비스 IP 주소 : 192.168.0.10

다음

검토+만들기

az login

az aks get-credentials --resource-group 리소스그룹 --name ㅋㅋ
git clone https://github.com/labeducation/k8s

 

 

Pod : Selector는 Label(키,값)를 찾아 해당 Object만 관리, annotation으로 Label처럼 첨부

Service : 고정된 주소로 접근하기 위해 Pod에 접근하는데 사용하는 Object

- ClusterIP : 이를 활용

- NodePort : 모든 Node에 Port를 할당

- Load Balancer : 접근방식

 

Volume : 데이터 저장소

1. Emptydir : Pod가 생성될 때 생성

2. HostPath : 호스트 노드의 경로를 Pod 마운트하여 함께 사용하는 유형

3. PV(Persistent Volume) : Pod와는 별도로 관리 - PVC가 Pod와 연결시켜줌

'KT AIVLE School > 가상화 클라우드' 카테고리의 다른 글

Docker & Container  (1) 2024.12.16
Azure 고가용성 서비스  (0) 2024.12.06
Microsoft Azure  (0) 2024.12.05
가상화  (2) 2024.12.05
'KT AIVLE School/가상화 클라우드' 카테고리의 다른 글
  • Docker & Container
  • Azure 고가용성 서비스
  • Microsoft Azure
  • 가상화
Rabet
Rabet
  • 블로그 메뉴

    • 관리자
    • 글쓰기
  • Rabet
    卯
    Rabet
  • 전체
    오늘
    어제
    • Root (139)
      • KT AIVLE School (85)
        • Start (4)
        • Python프로그래밍 & 라이브러리 (6)
        • 데이터 처리 및 분석 (7)
        • 데이터 분석 및 의미 찾기 (7)
        • 웹크롤링 (10)
        • 머신러닝 (10)
        • 딥러닝 (6)
        • 시각지능 딥러닝 (10)
        • 언어지능 딥러닝 (6)
        • JAVA (4)
        • SQL (2)
        • 가상화 클라우드 (5)
        • 프로젝트 (8)
      • QA (2)
        • 오류사항 (1)
      • 웹공부 (14)
        • SPRING (11)
        • React (1)
      • 코딩 알고리즘 스터디 (23)
      • 코딩테스트 (9)
        • JAVA (8)
        • HTML (1)
      • CS공부 (3)
      • 자격증공부 (3)
        • 정보처리기사 (1)
        • 컴퓨터활용능력 1급 (1)
        • AICE Associate (1)
        • CSTS (0)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
Rabet
Kubernetes
상단으로

티스토리툴바