Kubernetes

[K8S] Kubespray 설정 파일 변경하기

판다조아 2024. 3. 9. 20:32

Kubespray 내의 다양한 설정 파일을 조작하여 Kubernetes 클러스터를 사용자의 요구 사항에 맞게 자유롭게 조정할 수 있습니다.

변경한 설정 파일에 맞게 자동으로 설치 및 구성되기 때문에 클러스터의 구성을 쉽게 수정하고 맞춤형 환경을 만들 수 있습니다.

 

그럼 간단히 몇가지 설정을 변경하여 클러스터를 구성해보도록 하겠습니다!

 

 

 

k8s-cluster.yml

( inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml )

'k8s-cluster.yml' 파일은 Kubernetes 클러스터를 배포하는데 필요한 구성 정보를 담고 있습니다.

  • Container manager 지정
    • 컨테이너 생성, 배포, 실행 등을 관리하는 소프트웨어 ex ) Docker
## Default: containerd
container_manager: docker

해당 설정으로 배포시 docker 설치 확인

 

 

  • audit 활성화
    • 감사 로그
# audit log for kubernetes
kubernetes_audit: true

 

 

  • event 유지 시간 설정 (event 로그 보존 시간)
    • ex ) Pod의 생성, 삭제, 스케일링, 에러 등
## Amount of time to retain events. (default 1h0m0s)
event_ttl_duration: "48h0m0s"

 

 

  • 인증서 자동 갱신
    • 매월 첫 번째 월요일에 자동 갱신
## Automatically renew K8S control plane certificates on first Monday of each month
auto_renew_certificates: true

 

 

 

 

 

addons.yaml

( inventory/mycluster/group_vars/k8s_cluster/addons.yml )

'addons.yml' 파일은 Kubernetes 클러스터에 추가로 설치되는 애드온(Add-ons) 구성을 담고있습니다.

  • Helm 설치
    • Kubernetes 애플리케이션을 쉽게 배포하고 관리하기 위한 패키지 매니저
### addons.yml ###
helm_enabled: true

해당 설정으로 배포시 helm 확인

 

 

  • Local Path Provisoner 설치
    • 클러스터 내에서 pv(Persistent Volumes)를 동적으로 생성하고 할당하는 프로비저너
# Rancher Local Path Provisioner
local_path_provisioner_enabled: true

 

 

  • Metrics Server 설치
    • 클러스터 내에서 리소스 사용량 및 성능에 대한 정보 수집
      → Pod 및 Node의 CPU, MEMORY 사용량 등 쿼리 가능
# Rancher Local Path Provisioner
local_path_provisioner_enabled: true

 

 

  • Nginx Ingress Controller 설치
    • 클러스터에서 서비스를 외부로 노출, HTTP 및 HTTPS 트래픽을 관리하고 라우팅하는 소프트웨어
# Nginx ingress controller deployment
ingress_nginx_enabled: true

# 호스트 머신의 네트워크 사용
ingress_nginx_host_network: true

# 특정 IP로 노출X
ingress_publish_status_address: ""

 

해당 설정으로 배포시 ingress-nginx-controller, metrics-server, local-path-provisioner 파드 확인