Google Distributed Cloud software-only mendukung penggunaan OpenStack sebagai platform cloud pribadi. Panduan ini menjelaskan cara mengonfigurasi cluster agar dapat digunakan dengan penyedia cloud eksternal. Menjalankan penginstalan cluster Google Distributed Cloud software-only di OpenStack memungkinkan Anda menggunakan layanan OpenStack berikut:
Infrastructure as a Service (IaaS)
Load balancing as a Service (LBaaS)
Penyimpanan
Mengonfigurasi cluster agar dapat digunakan dengan OpenStack terdiri dari hal berikut:
Saat membuat cluster, Anda menambahkan anotasi
baremetal.cluster.gke.io/external-cloud-providerAnotasi ini menyebabkan Google Distributed Cloud menambahkan flag kubelet
cloud-provider=externalKubelet kemudian menambahkan taint
node.cloudprovider.kubernetes.io/uninitialized:NoScheduleke node cluster
Konfigurasi ini memungkinkan Anda dan OpenStack memiliki proses init node. Misalnya, Anda dapat men-deploy Google Distributed Cloud software di OpenStack untuk otomatis menyediakan resource OpenStack Load Balancing as a Service (LBaaS) atau memanfaatkan kemampuan OpenStack lainnya. Resource LBaaS dapat menggantikan resource MetalLB untuk mengekspos Layanan yang berjalan di cluster Anda ke tenant OpenStack lainnya atau di luar jaringan OpenStack. Untuk mengetahui informasi selengkapnya tentang fitur dan manfaat OpenStack, lihat dokumentasi OpenStack.
Contoh terkait
Dokumen ini hanya membahas cara mengonfigurasi cluster untuk digunakan dengan OpenStack. Panduan berikut akan memandu Anda melalui contoh deployment:
Men-deploy cluster di OpenStack akan memandu Anda melalui contoh deployment cluster hybrid di OpenStack virtual machine (VM). Deployment menggunakan skrip untuk menyederhanakan penginstalan. Panduan ini juga menunjukkan salah satu cara untuk mengaktifkan load balancing as a Service (LBaaS).
Mengonfigurasi OpenStack Cloud Provider untuk Kubernetes menunjukkan cara menginstal OpenStack Cloud Provider di cluster yang telah di-deploy di OpenStack. OpenStack Cloud Provider tidak diperlukan untuk menggunakan Google Distributed Cloud software dengan OpenStack.
Sebelum memulai
Tentukan cluster mana yang perlu menggunakan resource OpenStack LBaaS.
Setelah membuat cluster yang dikonfigurasi untuk menggunakan resource OpenStack LBaaS, Anda tidak dapat mengubah konfigurasi untuk beralih ke resource MetalLB. Pastikan Anda menginisialisasi cluster dengan konfigurasi penyedia cloud yang benar.
Pastikan Anda memiliki akses ke mesin yang ingin dikonfigurasi.
Pelajari lebih lanjut cara menjalankan cloud-controller-manager di dokumentasi Kubernetes.
Mengubah file konfigurasi cluster
OpenStack Kubernetes Cloud Provider mengharuskan kubelet berjalan di semua node dengan argumen berikut:
cloud-provider: "external"
Untuk memastikan cluster Anda memenuhi persyaratan ini, tambahkan
baremetal.cluster.gke.io/external-cloud-provider: "true" anotasi ke file konfigurasi
cluster Anda di bagian metadata sebelum Anda membuat
cluster.
Entri dalam file konfigurasi Anda akan terlihat seperti contoh berikut:
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: cluster1
namespace: cluster-cluster1
annotations:
baremetal.cluster.gke.io/external-cloud-provider: "true"
spec:
...
Beberapa penyedia cloud di platform cloud lain memerlukan format khusus untuk providerID. Google Distributed Cloud membuat providerID dengan format seperti
baremetal://MACHINE_ADDRESS untuk setiap mesin node. Jika ingin memiliki providerID yang berbeda, Anda dapat menentukannya untuk setiap node beserta alamat IP.
File konfigurasi cluster contoh berikut menunjukkan cara menentukan providerID untuk node cluster Anda:
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: cluster1
namespace: cluster-cluster1
spec:
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 10.96.0.0/20
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.1
+ providerID: some-prefix://unique-string
- address: 10.200.0.2
+ providerID: some-prefix2://unique-string2
...
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: nodepool1
namespace: cluster-cluster1
spec:
clusterName: cluster1
nodes:
- address: 172.18.0.2
+ providerID: some-prefix3://unique-string3
Membuat cluster
Setelah mengedit file konfigurasi, gunakan perintah berikut untuk menginisialisasi cluster Anda:
bmctl create cluster -c cluster1
Untuk mengetahui informasi selengkapnya tentang cara membuat cluster, lihat Ringkasan pembuatan cluster.
Konfigurasi node
Saat Anda membuat cluster yang dikonfigurasi untuk OpenStack, node cluster akan mengalami perubahan berikut:
Semua node di
cluster1berjalan dengan argumen yang diperlukan:cloud-provider: "external".Semua node juga memiliki taint berikut yang ditambahkan ke file konfigurasinya:
taints: - effect: NoSchedule key: node.cloudprovider.kubernetes.io/uninitialized value: "true"Taint ini akan dihapus setelah Anda menginisialisasi penyedia cloud di cluster ini.
kubeletberjalan denganproviderIDyang Anda tentukan dalam file konfigurasi cluster.