template을 CLI를 통해서 생성
openstack coe cluster template create kubernetes-cluster-template \
--image fedora-coreos-latest \
--external-network public \
--dns-nameserver 8.8.8.8 \
--master-flavor devstack-small-1 \
--flavor devstack-small-1 \
--coe kubernetes
버전을 지정해서 template을 만들고자 한다면 CLI로 생성할 때 아래 옵션 추가
--labels kube_tag=v1.21.5-rancher1
UI를 통해 실제 K8s 설치
Template을 통해 기본적인 설정은 채워지며 keypair나 이름 지정
Master Node의 경우 1에서 변경할 수 없지만 Worker Node는 임의의 숫자로 변경 가능하며 생성 이후에도 Worker Node는 늘이거나 줄일 수 있음
--master-lb-enabled
Template 생성 시 위 설정을 넣어줄 경우 master node의 개수를 조절 할 수 있음
Network는 새 네트워크를 생성하는게 디폴트로 체크가 되어있지만 해제할 경우 기존에 있는 네트워크를 연결해서 사용 가능
Master node HA 구성 시 ( Master node 2개 이상으로 구성 시 ) Enable Load Balancer for Master Nodes 옵션을 켜줘야 함
- 현재 해당 기능을 통해서 master 2개와 worker 1개로 구성해서 배포해보았으나 mysql Too many connection 에러가 발생
- Max connection 조정으로 해결
- galera 컨테이너의 mysql에서 set global max_connections=2400;으로 조정
Management는 추가 조사 필요
Advanced는 Label에 특정 키워드를 집어 넣는 것으로 다양한 기능을 사용할 수 있으며 Magnum User Guide — magnum 16.1.0.dev21 documentation (openstack.org)에서 확인 가능
생성 이후에는 keypair를 통해 접근하며 core계정으로 접속
Cluster를 생성 시 기본적으로 모든 노드에 Taint 설정이 되어있기 때문에 해당 설정을 만족 시키거나 삭제하여 사용
- CLOUD_PROVIDER_ENABLED=false
- 라벨을 이용하면 Taint 설정 없이 생성
- Master에도 Taint 설정 X
Label
Magnum User Guide — magnum 16.1.0.dev21 documentation (openstack.org)
kube_tag=v1.21.5-rancher1 // k8s version
metrics_server_enabled=true [default:true] // metrix 서버 활성화 여부
kube_dashboard_enabled=true [default:true] // 쿠버네티스 대쉬보드 활성화 여부
monitoring_enabled=true [default:false] // 프로메테우스 활성화 여부
monitoring_enabled이 true로 설정되면 trueMagnum은 Kubernetes 클러스터에 Prometheus Operator를
자동으로 배포하고 클러스터와 해당 애플리케이션을 모니터링하도록 구성합니다.
Prometheus Operator는 Kubernetes 클러스터에서 Prometheus를 쉽게 배포, 관리 및 확장할 수 있게
해주는 Kubernetes 네이티브 애플리케이션입니다.Magnum 클러스터 템플릿에서 prometheus_alert_rules및 와 같은 추가 구성 옵션을 제공하여
Prometheus 모니터링 시스템을 추가로 구성할 수 있습니다 . prometheus_scrape_configs이러한
옵션을 사용하면 특정 모니터링 요구 사항을 충족하도록 Prometheus 구성을 지정할 수 있다.
container_runtime=containerd [default:docker] // 컨테이너 런타임 변경
cloud_provider_enabled=true [defualt:false] // 오픈스택 ciner를 사용하면 true로 설정
cinder_csi_enabled=true // Cinder 서비스의 CSI 드라이버 사용
삭제 중 발생 에러
cluster, instance, network 모두 삭제가 잘 되었지만 trusts라는 리소스가 삭제에서 실패 내역 발생
이후 사용에 당장 문제는 없었으나 어떤 문제가 생길지 확인 필요
Master 2개와 worker 1개로 구성해서 배포해보았으나 mysql Too many connection 에러
- galera 컨테이너의 mysql에서 set global max_connections=2400;으로 조정
- 해결
'Openstack' 카테고리의 다른 글
Openstack Bridge, Port 수동 작업 (0) | 2024.05.23 |
---|---|
Openstack Galera clustering 복구 (0) | 2024.05.23 |
Openstack RabbitMQ unsynchronized error (0) | 2024.05.23 |
Openstack Senlin (0) | 2024.05.23 |
Openstack DNS lookup (0) | 2024.05.23 |