Kubernetes 클러스터를 직접 설정하는 복잡한 작업을 다행히도 오픈소스 명령어 'kubeadm'으로 클러스터 초기 설정의 대부분을 자동화할 수 있지만, 노드(Node)가 실패하거나 노드에 유지보수가 필요한 경우에는 관리자가 수동으로 응답해야 한다.
Google Kubernetes Engine는 사용자를 대신하여 모든 제어영역 구성요소를 관리한다.
Google Kubernetes Engine(GKE)
- GKE가 사용자를 대신하여 모든 제어 영역 인프라를 프로비저닝하고 관리한다.
- 별도의 제어 영역(Control plane)을 추상화한다.
- Google Cloud에서 제어 영역(Control plane)을 관리하게 되며, 제어 영역에 대해 별도의 비용이 청구되지 않는다.
GKE: 노드에 관해서 (GKE: More about nodes)
- Kubernetes는 노드를 만들지 않는다. -> 모든 Kubernetes 환경에서 노드는 Kubernetes 자체가 아닌 클러스터 관리자에 의해 외부에서 만들어진다.
- GKE는 Compute Engine 가상 머신 인스턴스를 시작하고 노드로 등록한다. GKE는 이 프로세스도 자동화 한다. -> Cloud Console에서 바로 노드 설정을 관리할 수 있다.
- 제어 영역을 제외한 노드에 설정된 시간당 요금이 부과된다.
- 노드는 Compute Engine에서 실행되므로 클러스터를 만들 때 노드 머신 유형을 선택할 수 있다. -> 기본적으로 노드 머신 유형은 'n1-standard-1'(가상 CPU 1개와 3.75GB 메모리 제공)이다.
- Google Cloud는 다양한 Compute Engine 옵션을 제공한다. -> 노드의 코어 개수와 메모리 용량은 맞춤설정할 수 있으며, CPU 플랫폼도 선택할 수 있다. (어떠한 CPU 플랫폼을 선택하든, 비용은 동일하다.)
![](https://blog.kakaocdn.net/dn/dvBcAZ/btrLLWjzFqB/chXDXSuyxojbGAVfN7mDIK/img.png)
여러 종류의 노드를 관리하기 위해서는 노드 풀을 사용할 것. (Use node pools to manage different kinds of nodes)
![](https://blog.kakaocdn.net/dn/cBTQFU/btrLLjl1RBU/MRLzqZKjaqp4SsEtFk9O81/img.png)
- 노드 풀(node pool)은 Kubernetes 기능이 아닌, GKE가 제공하는 기능이다.
- 다수의 노드 머신 유형을 선택하려면 다수의 노드 풀을 생성하면 된다.
- 노드 풀은 클러스터 내 노드의 하위집합으로, 메모리 용량 또는 CPU 세대와 같은 구성을 공유한다.
- 노드 풀을 이용하면 원하는 노드 풀로 워크로드의 레이블을 지정하는 작업만으로 더욱 쉽게 워크로드가 클러스터 내 올바른 하드웨어에서 실행되도록 할 수 있다.
-> 오픈소스 Kubernetes 내에서도 유사한 메커니즘을 구축할 수 있지만, 이 경우에는 사용자가 직접 유지 관리 작업을 해야만 한다.
- 노드 풀 수준에서 자동 노드 생성, 자동 노드 복구 클러스터 자동 확장을 사용할 수 있다. (* 단, 각 노드의 CPU 및 메모리 일부는 노드가 클러스터의 일부로 작동하게 하는 GKE와 Kubernetes 구성요소를 실행하는 데 필요하다.)
- 기본적으로 클러스터는 단일 Googld Cloud 컴퓨팅 영역에서 시작되며, 하나의 노드 풀에 3개의 동일한 노드가 있다.
- 노드 개수는 클러스터 생성 중 또는 생성 이후에 변경할 수 있다.
영역 클러스터 vs 리전 클러스터 (Zonal clusters vs Regional clusters)
전체 컴퓨팅 영역이 다운된 경우, GKE region 클러스터를 사용하면 이 문제를 해결할 수 있다.
![](https://blog.kakaocdn.net/dn/b1o95t/btrLLyiWSmc/sqffB4kLrcxuqUkEI9EXd0/img.png)
- region clusters는 애플리케이션의 가용성이 단일 region 내의 여러 영역(zone)에서 유지되도록 한다.
- 제어 영역의 가용성도 유지가 되므로, 일부 영역이 애플리케이션과 관리 기능 모두를 손실하더라도 유지 된다. (* 단, 전체 영역 손실 시 유지 되지 않는다.)
- 영역 클러스터를 빌드한 후에는 region 클러스터로 변환할 수 없으며, 그 반대의 경우도 마찬가지이다.
![](https://blog.kakaocdn.net/dn/lAAoH/btrLKFiQlaq/7t2H8ncR6YrcGzzbdlKsyK/img.png)
- region별 또는 영역별 GKE 클러스터를 비공개 클러스터로도 설정할 수 있다.
- 전체 클러스터, 즉 제어 영역 및 해당 노드는 공개(public) 인터넷에서 숨김 처리 된다.
- Google Cloud 제품이 클러스터 제어 영역에 액세스할 수 있고, Cloud Logging 또는 Cloud Monitoring 등에서 내부 IP 주소를 통해 access할 수 있다.
- 승인된 네트워크(제어 영역에서 access 할 수 있도록 허용한 신뢰할 수 있는 IP 주소 범위)에서도 외부 IP 주소를 통해 access할 수 있다.
- 노드는 비공개 Google access 통해서 제한된 아웃바운드 access 권한을 보유할 수 있으므로, 다른 Google Cloud 서비스와 통신할 수 있다.
'Cloud 스터디 잼 코리아 Kubernetes Intm' 카테고리의 다른 글
3주차 - 02. Kubernetes 제어 영역 (0) | 2022.09.06 |
---|---|
3주차 - 01. Kubernetes 개념 (0) | 2022.09.02 |
Getting Started with Google Kubernetes Engine수료 (1) | 2022.09.02 |
2주차 - 06. 컴퓨팅 옵션 세부정보 (0) | 2022.09.01 |
2주차 - 05. Google Kubernetes Engine 소개 (0) | 2022.08.31 |