Kubernetes Training

Kubernetes Training

Kubernetes Standard Architecture


 

image.png
  • 해당 섹션에는 2023 표준 아키텍처를 기준으로 필자의 주관을 참조여 구성됩니다.

 


 

설치순서 ( 순서는 필자의 주관으로 강제가 아님. )

  • 각 컴포넌트 중, 색상으로 표시한 컴포넌트를 기준으로 설치됩니다.

 

1. Container Runtime

  • 툴: containerd, Docker
  • 설명: 쿠버네티스가 컨테이너를 실행하는 런타임을 설치합니다.
  • 가이드:
    1. 각 노드에 containerd 또는 Docker를 설치합니다.
    2. kubelet이 사용할 컨테이너 런타임을 설정합니다.

 

2. Cluster Provisioning

  • 툴: kubeadm, KubeSpray, Terraform
  • 설명: 쿠버네티스 클러스터를 생성하고, 노드들을 구성합니다. 이 단계에서는 쿠버네티스 클러스터의 기본 인프라를 배포합니다.
  • 가이드:
    1. Kubeadm: kubeadm init 명령어를 사용하여 클러스터를 초기화합니다. 각 노드를 클러스터에 추가합니다.
    2. KubeSpray: Ansible을 사용하여 다중 노드 클러스터를 자동으로 배포합니다.
    3. Terraform: 인프라를 코드로 정의하여 클라우드 환경에서 쿠버네티스 클러스터를 프로비저닝합니다.

 

3. Container Network Interface

  • 툴: Calico, MetalLB, NGINX, K8GB
  • 설명: 클러스터 내의 네트워킹을 설정합니다. Calico를 통해 네트워크 정책과 CNI를 설정합니다.
  • 가이드:
    1. Calico를 설치하여 네트워크 정책과 Pod 간의 통신을 설정합니다.
    2. MetalLB를 사용하여 로드밸런서를 구성합니다.
    3. NGINX 또는 K8GB로 인그레스 컨트롤러를 설정합니다.

 

4. Usability Tools

  • 툴: Helm, OpenLens
  • 설명: 클러스터에서 쉽게 애플리케이션을 배포하고 관리할 수 있도록 도와주는 도구들을 설정합니다.
  • 가이드:
    1. Helm을 사용하여 패키지 매니저로서 애플리케이션을 설치합니다.
    2. OpenLens를 통해 클러스터를 관리하고 모니터링합니다.

 

5. Container Natvie Storage

  • 툴: Rook Ceph, Ceph
  • 설명: 클러스터 내에서 스토리지를 설정하여 애플리케이션이 사용할 수 있게 합니다.
  • 가이드:
    1. Rook/Ceph를 사용하여 퍼시스턴트 볼륨을 제공합니다.
    2. Velero를 설치하여 클러스터 백업 및 복원을 설정합니다.

 

6. Backup and Restore Service

  • 툴: Velero
  • 설명: Kubernetes 클러스터의 백업 및 복원을 관리합니다. Velero를 사용하여 클러스터의 상태와 데이터를 안전하게 저장하고, 필요시 복구할 수 있습니다.
  • 가이드:
    1. Velero를 설치하여 클러스터의 백업 및 복구 작업을 자동화합니다.
    2. 클러스터 내의 퍼시스턴트 볼륨 및 네임스페이스 데이터를 백업하고 복구할 수 있는 설정을 구성합니다

 

7. Mesh Service

  • 툴: Istio
  • 설명: 서비스 간의 통신을 관리하고, 서비스 메시 패턴을 설정합니다.
  • 가이드:
    1. Istio를 설치하여 마이크로서비스 간의 트래픽 관리, 모니터링, 보안을 설정합니다.

 

8. Access Management Service

  • 툴: Keycloak
  • 설명: SSO(Single Sign-On) 및 ID 관리 시스템을 설정합니다.
  • 가이드:
    1. Keycloak을 설치하고, 클러스터의 RBAC 및 OIDC 인증을 통합합니다.
    2. SSO를 통해 애플리케이션 액세스를 제어합니다.

 

9. Key Management Service

  • 툴: HashiCorp Vault
  • 설명: 클러스터에서 사용하는 키와 인증서 관리 서비스를 설정합니다.
  • 가이드:
    1. Vault를 설정하여 비밀 정보 및 인증서를 관리합니다.
    2. Kubernetes와 통합하여 비밀 데이터를 관리합니다.

 

10. Container Images Managemet Service

  • 툴: Harbor
  • 설명: 쿠버네티스 클러스터에서 사용하는 이미지를 저장하고 관리할 컨테이너 이미지 레지스트리를 설정합니다.
  • 가이드:
    1. Harbor를 설치하여 내부 레지스트리를 설정하고, 이미지를 푸시하고 풀할 수 있게 합니다.

 

11. Monitoring and Logging

  • 툴: Prometheus, Grafana, Fluentd, Elasticsearch, Kibana
  • 설명: 클러스터의 모니터링 및 로깅을 설정합니다.
  • 가이드:
    1. Prometheus를 설치하여 메트릭을 수집하고 Grafana를 통해 시각화합니다.
    2. Fluentd, Elasticsearch, Kibana를 설정하여 로그를 수집하고 분석합니다.

 

12. CI/CD Pipeline

  • 툴: Jenkins, GitLab, Argo
  • 설명: 애플리케이션의 지속적 통합과 지속적 배포를 설정합니다.
  • 가이드:
    1. Jenkins/GitLab을 설정하여 빌드 파이프라인을 설정합니다.
    2. Argo를 사용하여 지속적 배포(CD)를 자동화합니다.

 

13. Multi Cluster Management

  • 툴: Karmada
  • 설명: 여러 클러스터를 관리하고 페더레이션 설정을 합니다.
  • 가이드:
    1. Karmada를 설정하여 멀티 클러스터 관리 및 페더레이션을 지원합니다.

 

 

RSS Feed
  1. Requirements source
    1. Manger Node
  2. Container Runtime
    1. ContainerD
      1. Concept
      2. install
  3. Cluster Provisioning
    1. Kubeadm
      1. Kubeadm Concept
      2. Kubeadm install
      3. Kubeadm update
  4. Container Network Interface
    1. Calico
      1. install
      2. Concept
    2. MetaLB
      1. install
      2. Concept
    3. Nginx
      1. install
      2. Concept
  5. Usability Tools
    1. Helm
      1. install
      2. Concept
    2. OpenLens
      1. install
      2. Concept
  6. Container Natvie Storage
    1. Rook Ceph
      1. install
      2. Concept
  7. Backup and Restore Service
    1. Velero
      1. install
      2. Concept
  8. Mesh Service
    1. Istio
      1. install
      2. Concept
  9. Access Management Service
    1. Keycloak
      1. install
      2. Concept
  10. Key Management Service
    1. Vault
      1. install
      2. Concept
  11. Container Images Managemet Service
    1. Harbor
      1. install
      2. Concept
  12. Monitoring and Logging
    1. Elasticsearch
      1. install
      2. Concept
    2. Fluentd
      1. install
      2. Concept
    3. Kibana
      1. install
      2. Concept
  13. CI/CD Pipeline
    1. ArgoCD
      1. install
      2. Concept
  14. Multi Cluster Management
    1. Karmada
      1. install
      2. Concept
  15. ETC
    1. 임시폴더
      1. install
      2. Concept