OpenStack을 사용하도록 클러스터 구성

Anthos clusters on bare metal은 OpenStack Kubernetes 클라우드 제공업체를 지원합니다. 이 기능을 사용하면 OpenStack Load Balancing as a Service(LBaaS) 리소스를 자동으로 프로비저닝할 수 있습니다. 이러한 리소스는 MetalLB 리소스를 바꿔서 Anthos clusters on bare metal에서 실행되는 서비스를 다른 OpenStack 테넌트 또는 OpenStack 네트워크 외부에 쉽게 노출시킬 수 있습니다.

시작하기 전에

OpenStack LBaaS 리소스를 사용해야 하는 Anthos 클러스터를 결정합니다.

구성하려는 머신에 대해 액세스 권한이 있는지 확인합니다.

Kubernetes 문서에서 cloud-controller-manager 실행에 대해 자세히 알아보세요.

클러스터의 구성 파일 변경

OpenStack Kubernetes 클라우드 제공업체에서는 kubelet이 다음 인수를 사용하여 모든 노드에서 실행되어야 합니다.

cloud-provider: "external"

Anthos 클러스터가 이 요구사항을 쉽게 충족하도록 하려면 baremetal.cluster.gke.io/external-cloud-provider: "true" 주석을 초기화하기 전 메타데이터 섹션 아래에 있는 클러스터의 구성 파일에 추가합니다.

구성 파일의 항목은 다음 예시와 비슷하게 표시됩니다.

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: cluster1
  namespace: cluster-cluster1
  annotations:
    baremetal.cluster.gke.io/external-cloud-provider: "true"
spec:
  ..

구성 파일을 수정한 후 다음 명령어를 사용하여 클러스터를 초기화합니다.

bmctl create cluster -c cluster1

이제 cluster1의 모든 노드가 필요한 인수 cloud-provider: "external"로 실행됩니다.

또한 모든 노드에서 다음 필드가 해당 구성 파일에 추가됩니다.

taints:
- effect: NoSchedule
  key: node.cloudprovider.kubernetes.io/uninitialized
  value: "true"

이러한 필드는 이 클러스터에서 클라우드 제공업체를 초기화한 후에 삭제됩니다.