Di Google Distributed Cloud, cluster pengguna menjalankan workload Anda, dan arsitektur multi-cluster, cluster pengguna dibuat dan dikelola oleh sebuah cluster admin.
Setelah Anda membuat cluster admin, memanggil perintah bmctl create config
membuat file YAML yang dapat diedit untuk menentukan cluster pengguna. Untuk menerapkan
dan membuat cluster pengguna, gunakan bmctl create cluster
perintah. Pemeriksaan preflight berlaku untuk cluster pengguna yang dibuat dengan
Perintah bmctl create cluster
.
Menyimpan beban kerja dari cluster admin melindungi data administratif yang sensitif, seperti kunci SSH yang disimpan dalam cluster admin, dari mereka yang tidak memerlukan akses terhadap informasi tersebut. Selain itu, dengan memisahkan cluster pengguna dari setiap cluster lainnya memberikan keamanan umum yang baik untuk beban kerja Anda.
Prasyarat
bmctl
terbaru telah didownload (gs://anthos-baremetal-release/bmctl/1.30.0-gke.1930/linux-amd64/bmctl
) dari Cloud Storage.- Cluster admin yang berfungsi dengan akses ke server cluster API (
controlPlaneVIP
). - Node cluster admin memiliki konektivitas jaringan ke semua node pada target cluster pengguna.
- Workstation yang menjalankan
bmctl
memiliki konektivitas jaringan ke semua node di menargetkan cluster pengguna. - Workstation admin dapat membuat koneksi SSH ke setiap pengguna node cluster.
- Akun layanan pendaftaran terhubung dikonfigurasi di cluster admin untuk digunakan dengan Connect.
Aktifkan SELinux
Jika Anda ingin mengaktifkan SELinux untuk
mengamankan kontainer Anda, Anda harus memastikan
SELinux diaktifkan dalam mode Enforced
di semua mesin host Anda. Dimulai dengan
Google Distributed Cloud rilis 1.9.0 atau yang lebih baru, Anda dapat mengaktifkan atau menonaktifkan SELinux
sebelum atau setelah pembuatan atau upgrade cluster. SELinux diaktifkan oleh
default di Red Hat Enterprise Linux (RHEL). Jika SELinux dinonaktifkan di host Anda
atau Anda tidak yakin, lihat Mengamankan container menggunakan SELinux untuk mengetahui petunjuk cara mengaktifkannya.
Google Distributed Cloud mendukung SELinux hanya di sistem RHEL.
Membuat file konfigurasi cluster pengguna
File konfigurasi untuk membuat cluster pengguna hampir sama persis dengan
yang digunakan untuk membuat cluster admin. Satu-satunya perbedaan
adalah Anda menghapus
bagian konfigurasi kredensial lokal untuk
membuat konfigurasi menjadi valid
berisi kumpulan resource Kubernetes. Bagian konfigurasi
berada di atas
file di bawah bagian bmctl configuration variables
. Untuk contoh pengguna
konfigurasi cluster, lihat
Cluster pengguna
dalam contoh konfigurasi Cluster.
Secara default, cluster pengguna mewarisi kredensial mereka dari cluster admin yang mengelola mereka. Anda dapat mengganti beberapa atau semua kredensial ini secara selektif.
Buat file konfigurasi cluster pengguna dengan perintah
bmctl create config
:bmctl create config -c USER_CLUSTER_NAME
Misalnya, berikan perintah berikut untuk membuat file konfigurasi cluster pengguna disebut
user1
:bmctl create config -c user1
File ditulis ke
bmctl-workspace/user1/user1.yaml
. Jalur generik file tersebut adalahbmctl-workspace/CLUSTER NAME/CLUSTER_NAME.yaml
.Edit file konfigurasi dengan perubahan berikut:
Hapus jalur file kredensial lokal dari konfigurasi:
...
gcrKeyPath: (path to GCR service account key)sshPrivateKeyPath: (path to SSH private key, used for node access)gkeConnectAgentServiceAccountKeyPath: (path to Connect agent service account key)gkeConnectRegisterServiceAccountKeyPath: (path to Hub registration service account key)cloudOperationsServiceAccountKeyPath: (path to Cloud Operations service account key)...Ubah konfigurasi untuk menentukan jenis cluster
user
, bukanadmin
:... spec: # Cluster type. This can be: # 1) admin: to create an admin cluster. This can later be used to create # user clusters. # 2) user: to create a user cluster. Requires an existing admin cluster. # 3) hybrid: to create a hybrid cluster that runs admin cluster # components and user workloads. # 4) standalone: to create a cluster that manages itself, runs user # workloads, but does not manage other clusters. type: user ...
Daftarkan cluster Anda ke fleet dengan menentukan project ID Anda di kolom
gkeConnect.projectID
. Proyek ini disebut sebagai project host perangkat.... gkeConnect: projectID: my-project-123 ...
- Secara opsional, Anda dapat menambahkan
gkeConnect.location
ke spesifikasi cluster untuk menentukan region Google Cloud tempat Armada dan layanan {i>Connect<i} akan berjalan. Keanggotaan regional ini membatasi perangkat traffic layanan ke region Anda. Jika Anda menyertakangkeConnect.location
dalam spesifikasi cluster, region yang Anda tentukan harus sama dengan region yang dikonfigurasi diclusterOperations.location
. Jika region tidak pembuatan cluster yang sama akan gagal.
- Secara opsional, Anda dapat menambahkan
Jika GKE On-Prem API diaktifkan di di project Google Cloud, semua cluster dalam project terdaftar di GKE On-Prem API secara otomatis di region yang dikonfigurasi di
clusterOperations.location
.Jika Anda ingin mendaftarkan semua cluster dalam project di GKE On-Prem API, pastikan untuk melakukan langkah-langkah dalam Sebelum memulai untuk mengaktifkan dan menggunakan GKE On-Prem API dalam project.
Jika Anda tidak ingin mendaftarkan cluster di GKE On-Prem API, sertakan bagian ini dan menyetel
gkeOnPremAPI.enabled
kefalse
. Jika Anda tidak ingin mendaftarkan cluster apa pun dalam project, nonaktifkangkeonprem.googleapis.com
(nama layanan untuk GKE On-Prem API) di awal proyek. Untuk mengetahui petunjuknya, lihat Menonaktifkan layanan.
Tentukan alamat IP node bidang kontrol.
... # Sample control plane config controlPlane: nodePoolSpec: nodes: - address: 10.200.0.20 ...
Memastikan spesifikasi cluster admin dan pengguna untuk VIP load balancer dan kumpulan alamat bersifat komplementer, dan tidak tumpang tindih dengan cluster yang ada. Contoh berikut menunjukkan pasangan contoh cluster admin dan pengguna menentukan load balancing dan address pool:
... # Sample admin cluster config for load balancer and address pools loadBalancer: vips: controlPlaneVIP: 10.200.0.49 ingressVIP: 10.200.0.50 addressPools: - name: pool1 addresses: - 10.200.0.50-10.200.0.70 ... ... # Sample user cluster config for load balancer and address pools loadBalancer: vips: controlPlaneVIP: 10.200.0.71 ingressVIP: 10.200.0.72 addressPools: - name: pool1 addresses: - 10.200.0.72-10.200.0.90 ...
File konfigurasi cluster pengguna lainnya sama dengan konfigurasi cluster admin.
Tentukan kepadatan pod node cluster:
... # NodeConfig specifies the configuration that applies to all nodes in the cluster. nodeConfig: # podDensity specifies the pod density configuration. podDensity: # maxPodsPerNode specifies at most how many pods can be run on a single node. maxPodsPerNode: 110 ...
Untuk cluster pengguna, nilai yang diizinkan untuk
maxPodsPerNode
adalah32-250
. Tujuan nilai default-nya jika tidak ditentukan adalah110
. Setelah cluster dibuat, nilai tidak dapat diperbarui.Kepadatan pod juga dibatasi oleh resource IP cluster Anda yang tersedia. Sebagai detail, lihat Jaringan pod.
Membuat cluster pengguna
Berikan perintah bmctl
untuk menerapkan konfigurasi cluster pengguna dan membuat
:
bmctl create cluster -c USER_CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
Ganti kode berikut:
USER_CLUSTER_NAME
: nama cluster yang dibuat di bagian sebelumnya.ADMIN_KUBECONFIG
: jalur ke file kubeconfig cluster admin.
Misalnya, untuk cluster pengguna bernama user1
, dan kubeconfig cluster admin
file dengan jalur kubeconfig bmctl-workspace/admin/admin-kubeconfig
, file
perintahnya adalah:
bmctl create cluster -c user1 --kubeconfig bmctl-workspace/admin/admin-kubeconfig
Contoh konfigurasi cluster pengguna
Untuk contoh konfigurasi cluster pengguna, lihat Cluster pengguna di Contoh konfigurasi cluster.