- Cluster(클러스터)
컨테이너 형태의 애플리케이션을 호스팅하는 물리/가상 환경의 노드로 이루어진 집합 (애플리케이션을 실행하기 위한 일련의 노드 머신)
쿠버네티스를 실행 중 === 클러스터를 실행 중
클러스터의 용도에 따라 워커 노드(Worker Node)와 마스터 노드(Master Node)로 구분
워커 노드(Worker Node)
: 각기 다른 컨테이너를 가직고 있는 노드, 각기 다른 목적과 기능으로 세분화된 컨테이너들이 실제 배치되는 노드를 의미
마스터 노드(Master Node)
: 대규모 컨테이너를 운영하려면 각 워커 노드들의 가용 리소스 현황을 고려하여 최적의 컨테이너 배치와 모니터링, 그리고 각 컨테이너에 대한 효율적이 추가 관리가 필요, 이 역할을 수행하는 노드를 마스터 노드라 칭함
- Provisioning(프로비저닝)
IT 인프라를 설정하는 프로세스
어떤 종류의 서비스든 사용자의 요구에 맞게 시스템 자체를 제공하는 것
Google Kubernetes Engine
# 시간 타임 설정
gcloud config set compute/zone us-central1-b
# 클러스터 시작
gcloud container clusters create io
다음 작업으로 프로젝트에 필요한 저장소를 가져옵니다.
gsutil cp -r gs://spls/gsp021/* .
# 실습할 저장소로 이동
cd orchestrate-with-kubernetes/kubernetes
# 파일 확인
ls
저장소에 구성된 파일은 아래와 같습니다.
deployments/ /* 디플로이먼트 매니페스트 */
...
nginx/ /* nginx 구성 파일 */
...
pods/ /* 파드 매니페스트 */
...
services/ /* 서비스 매니페스트 */
...
tls/ /* TLS 인증서 */
...
cleanup.sh /* 정리 스크립트 */
deployments : 디플로이먼트를 정의할 수 있고, 배포 작업을 좀 더 세분화하여 조작 가능하도록 하는 파일
nginx : nginx 관리 파일
pods : 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 단위 ( 하나 이상의 컨테이너 그룹 )
services : 라벨 셀렉터 (label selector)를 이용하여 관리하고자 하는 Pod를 정의할 수 있습니다.
services teamplate
apiVersion: v1
kind: Service
metadata:
name: hello-node-svc
spec:
selector:
app: hello-node
ports:
- port: 80
protocol: TCP
targetPort: 8080
type: LoadBalancer
tls : TLS Certificate 관리
기본적으로 3가지의 인증 파일 필요
1. CA에서 발급한 root certificate
2. Server에서 발급한 server certificate
3. Client에서 발급한 client certificate
모놀리식 아키텍처(Monolithic Architecture)
하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합대 있는 구조를 의미.
* 기능이 한 번에 다 들어 있어 하나의 기능을 수정하게 되면 다른 기능까지 수정해야 할 수도 있다.
장점1. 간단한 개발2. 간편한 배포3. 단순한 확장성 -> 코드의 확장 -> 재배포
단점1. 코드 품질이 낮아짐2. 애플리케이션 시작이 오래 걸림3. 애플리케이션의 지속적인 배포가 어려움4. 애플리케이션의 확장이 어려움
kubectl create deployment nginx --image=nginx:1.10.0
# 실행중인 nginx 컨테이너 확인
kubectl get pods
# Kubernetes 외부로 노출
kubectl expose deployment nginx --port 80 --type LoadBalancer
# 컨테이너 조회
curl http://<External IP>:80
'Learn > Google Cloud Study Jam' 카테고리의 다른 글
3. Managing Deployments Using Kubernetes Engine (0) | 2022.07.16 |
---|---|
1 - 2. Kubernetes Engine:Qwik Start (0) | 2022.07.01 |
1 - 1. Dokcer 소개 (0) | 2022.06.30 |