Halaman ini menjelaskan cara membuat cluster admin menggunakan Konsol Google Cloud atau Google Cloud CLI (gcloud CLI). Kedua standar ini Klien Google Cloud menggunakan GKE On-Prem API untuk membuat cluster.
Apa itu GKE On-Prem API?
GKE On-Prem API adalah API yang dihosting Google Cloud dan dapat Anda gunakan untuk siklus proses cluster lokal Anda menggunakan Terraform dan standar aplikasi Google Cloud. GKE On-Prem API berjalan di infrastruktur IT. Terraform, konsol, dan gcloud CLI adalah klien dari API, dan mereka menggunakan API tersebut untuk membuat cluster di pusat data Anda.
Untuk mengelola siklus proses cluster Anda, GKE On-Prem API harus menyimpan metadata tentang status cluster Anda di Google Cloud, menggunakan Region Google Cloud yang Anda tentukan saat membuat cluster. Ini Dengan metadata, API dapat mengelola siklus proses cluster menyertakan data khusus beban kerja.
Saat membuat cluster menggunakan klien GKE On-Prem API, Anda menentukan project Google Cloud Anda. Setelah dibuat, cluster akan otomatis terdaftar ke akun fleet. Proyek ini disebut sebagai project host perangkat. Project host fleet tidak dapat diubah setelah cluster dibuat.
Jika ingin, Anda dapat membuat cluster admin dengan membuat cluster admin
file konfigurasi dan penggunaan bmctl
, seperti yang dijelaskan dalam
Membuat cluster admin.
Jika Anda ingin menggunakan konsol atau gcloud CLI untuk mengelola
siklus proses cluster yang dibuat menggunakan bmctl
, lihat
Konfigurasikan cluster untuk dikelola dengan GKE On-Prem API.
Izin IAM
Jika Anda bukan pemilik project Google Cloud, Anda harus memiliki pemilik project memberi Anda peran berikut:
Jika Anda ingin mengakses halaman GKE Enterprise dan GKE di konsol, Anda juga harus memiliki roles/container.viewer.
Untuk mengetahui informasi tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Akses command line
Setelah cluster dibuat, jika ingin menggunakan
Hubungkan gateway untuk menjalankan perintah
Perintah kubectl
terhadap cluster di komputer selain admin
instal alat baris perintah berikut ini di komputer yang Anda
sesuai rencana Anda.
Versi terbaru gcloud CLI.
kubectl
untuk menjalankan perintah terhadap cluster Kubernetes. Jika Anda memerlukan untuk menginstalkubectl
, ikuti petunjuk.
Pilih klien untuk membuat cluster admin
Anda dapat menggunakan konsol atau gcloud CLI untuk membuat cluster admin yang dikelola dengan GKE On-Prem API. Jika ini adalah pertama kali menginstal Google Distributed Cloud, Anda mungkin menemukan yang lebih mudah digunakan dibandingkan gcloud CLI.
Setelah Anda lebih terbiasa dengan informasi yang perlu Anda berikan untuk
membuat cluster, Anda mungkin merasa
bahwa gcloud CLI lebih nyaman
karena Anda bisa menyimpan perintah beserta argumennya ke dalam file teks. Jika Anda
menggunakan alat CI/CD, seperti Cloud Build, Anda dapat menggunakan
perintah gcloud
untuk membuat cluster dan menentukan
--impersonate-service-account
untuk mengotomatiskan pembuatan.
Prasyarat
Konsol
Di konsol, buka halaman Create a Cluster Cloud terdistribusi.
Pilih project Google Cloud tempat Anda ingin membuat cluster. Project yang dipilih juga digunakan sebagai project host fleet.
Halaman Prasyarat menampilkan persyaratan untuk admin Anda workstation dan mesin node cluster. Perencana alamat IP di Bagian Persyaratan jaringan membantu Anda merencanakan alamat IP yang diperlukan untuk penginstalan minimal dari satu cluster admin dan satu cluster pengguna.
Prasyarat workstation admin
Luaskan bagian ini untuk menampilkan perangkat keras, sistem operasi, dan persyaratan konektivitas untuk workstation admin Anda.
Prasyarat mesin node cluster
Luaskan bagian ini untuk menampilkan perangkat keras, sistem operasi, dan persyaratan konektivitas untuk mesin node cluster.
Persyaratan jaringan
Bagian ini membantu Anda merencanakan alamat IP yang Anda perlukan untuk lingkungan fleksibel App Engine. Secara opsional, di bagian Node IP and Virtual IP addresses, Anda dapat memberikan alamat IP {i>node<i} awal dan alamat IP virtual (VIP), dan konsol akan menampilkan tabel alamat IP yang Anda butuhkan. Alamat IP ini tidak diterapkan ke konfigurasi cluster admin. Mereka dimaksudkan sebagai panduan untuk membantu Anda merencanakan alamat IP yang Anda butuhkan untuk penginstalan. Anda dapat mengunduh tabel ke file CSV dan mengimpornya ke {i>spreadsheet<i} atau alat perencanaan alamat IP untuk digunakan sebagai titik awal untuk melacak alamat IP yang diperlukan untuk cluster Anda.
Tinjau resource Google Cloud:
Pastikan bahwa semua Google API yang diperlukan diaktifkan di project host fleet. Selain itu, Anda harus mengaktifkan API GKE On-Prem:
gcloud services enable --project FLEET_HOST_PROJECT_ID \ gkeonprem.googleapis.com
Ganti FLEET_HOST_PROJECT_ID
dengan project ID
project host fleet Anda.
Sebelum membuat cluster, jalankan perintah bmctl register bootstrap
pada
komputer admin Anda
seperti yang dijelaskan dalam
Menyiapkan lingkungan bootstrap. Perintah ini
dapat membuat akun layanan yang diperlukan,
izin IAM yang diperlukan untuk membuat cluster admin.
Jika mau, Anda dapat
Mengonfigurasi akun layanan secara manual.
Saat Anda siap memulai, klik Install bootstrap environment di di bilah navigasi kiri.
gcloud CLI
Prasyarat hardware, jaringan, dan sistem operasi
Pembuatan cluster admin menggunakan klien GKE On-Prem API memerlukan
prasyarat perangkat keras, jaringan, dan sistem operasi
untuk membuat cluster
menggunakan bmctl
. Untuk mengetahui detailnya,
lihat Prasyarat penginstalan.
Google API yang diperlukan
Pastikan bahwa semua Google API yang diperlukan diaktifkan di project host fleet. Selain itu, Anda harus mengaktifkan API GKE On-Prem:
gcloud services enable --project FLEET_HOST_PROJECT_ID \ gkeonprem.googleapis.com
Ganti FLEET_HOST_PROJECT_ID
dengan project ID
project host fleet Anda.
Akun layanan dan izin yang diperlukan
Sebelum membuat cluster, jalankan perintah bmctl register bootstrap
pada
komputer admin Anda
seperti yang dijelaskan dalam
Menyiapkan lingkungan bootstrap. Perintah ini
dapat membuat akun layanan yang diperlukan,
izin IAM yang diperlukan untuk membuat cluster admin.
Jika mau, Anda dapat
Mengonfigurasi akun layanan secara manual.
Merencanakan alamat IP
Sebelum membuat cluster admin, Anda perlu merencanakan alamat IP untuk klaster. Tinjau Merencanakan alamat IP Anda untuk contoh cara mengalokasikan alamat IP untuk ketersediaan tinggi (HA) Admin dan dua cluster pengguna dengan ketersediaan tinggi (HA). Bahkan jika Anda akan menggunakan gcloud CLI untuk membuat cluster admin, Anda mungkin ingin mengikuti langkah-langkah konsol di bagian ini untuk menggunakan alamat IP perencana proyek.
Menyiapkan lingkungan bootstrap
Sebelum membuat cluster admin, Anda perlu menjalankan
Perintah bmctl register bootstrap
di workstation admin Anda. Perintah ini
men-deploy Kubernetes di Docker
(jenis) cluster di workstation admin. Cluster bootstrap ini menghosting
Pengontrol Kubernetes diperlukan untuk membuat cluster admin. Saat Anda membuat
admin cluster, pengontrol di cluster bootstrap akan menyediakan node,
menjalankan pemeriksaan preflight, dan mendaftarkan cluster admin ke fleet. Bootstrap
cluster akan otomatis dihapus setelah cluster berhasil dibuat.
Konsol
Masukkan Nama untuk cluster admin. Perhatikan bahwa cluster bootstrap diperoleh dengan menambahkan bootstrap- ke nama cluster admin.
Pilih versi Google Distributed Cloud untuk cluster admin Anda.
Di kolom Google Cloud API Location, pilih kolom Google Cloud region dari daftar. Setelan ini menentukan wilayah tempat API dan layanan berikut dijalankan:
- GKE On-Prem API (
gkeonprem.googleapis.com
) - Layanan armada (
gkehub.googleapis.com
) - Hubungkan layanan (
gkeconnect.googleapis.com
)
Setelan ini juga mengontrol region tempat hal berikut disimpan:
- Metadata cluster yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
- Data Cloud Logging dan Cloud Monitoring komponen sistem
- Log Audit Admin yang dibuat oleh Cloud Audit Logs
Nama cluster, project, dan lokasi secara unik mengidentifikasi cluster di Google Cloud.
- GKE On-Prem API (
Konsol menampilkan perintah yang perlu Anda jalankan di workstation admin Anda. Alat command line
bmctl
harus cocok versi cluster yang Anda buat. Jika Anda sudah memiliki versibmctl
yang berlaku yang didownload ke workstation admin Anda, Anda tidak perlu mendownloadnya lagi.
gcloud CLI
Pastikan untuk mengupdate komponen:
gcloud components update
Jalankan perintah berikut untuk login dengan Akun Google Anda:
gcloud auth login
Cantumkan versi Google Distributed Cloud yang tersedia dan dapat diinstal. Versi
bmctl
yang Anda download untuk membuat lingkungan bootstrap harus sesuai dengan versi yang akan Anda instal di cluster admin.gcloud container bare-metal admin-clusters query-version-config \ --location=REGION
Ganti
REGION
dengan region Google Cloud yang akan digunakan saat membuat cluster. Ini adalah region tempat GKE On-Prem API serta menjalankan layanan Fleet dan Connect. Menentukanus-west1
atau lainnya wilayah yang didukung.
Membuat cluster bootstrap
Lakukan langkah-langkah berikut di workstation admin Anda. Perintah-perintah ini ditampilkan di konsol.
Tetapkan kredensial pengguna Anda sebagai Application Default Credentials (ADC):
gcloud auth application-default login
Ikuti petunjuk guna memilih Akun Google Anda untuk ADC.
Jika perlu, download alat command line
bmctl
ke versi yang berfungsi saat ini saat ini.gcloud storage cp gs://anthos-baremetal-release/bmctl/VERSION/linux-amd64/bmctl . chmod a+x ./bmctl
Ganti
VERSION
dengan versi Google Distributed Cloud yang ingin Anda instal. Jika Anda menyalin perintah dari konsol, versi itu sudah ada dalam perintah.Membuat cluster bootstrap. Anda dapat mengizinkan
bmctl
membuat akun layanan (SA) yang diperlukan, atau Anda dapat membuat akun layanan serta file kunci dan meneruskannya kebmctl register bootstrap
perintah.
bmctl
membuat SA
Gunakan perintah berikut jika Anda ingin bmctl
membuat
akun layanan dengan izin akses minimum yang diperlukan untuk
membuat cluster admin. Perintah ini mengasumsikan bahwa bmctl
pada direktori kerja saat ini.
./bmctl register bootstrap \ --ssh-key=YOUR_PRIVATE_KEY \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=FLEET_HOST_PROJECT_ID
Ganti kode berikut:
YOUR_PRIVATE_KEY
: Jalur ke pribadi Anda kunci SSH. Anda membuat kunci SSH ketika menyiapkan akses SSH root ke node.
Jika Anda menyalin perintah yang ditampilkan di konsol, bidang berikut sudah diisi.
ADMIN_CLUSTER_NAME
: Nama cluster admin Anda.FLEET_HOST_PROJECT_ID
: Project yang admin akan terdaftar secara otomatis setelah cluster dibuat.
Perintah bmctl register bootstrap
akan membuat akun layanan berikut.
Kunci akun layanan disimpan di direktori
bmctl-workspace/.sa-keys
.
Akun layanan | Tujuan | Peran IAM |
---|---|---|
anthos-baremetal-gcr | Google Distributed Cloud menggunakan akun layanan ini untuk mendownload container image aplikasi dari Google Container Registry. | Tidak ada |
anthos-baremetal-terhubung | Agen Connect menggunakan akun layanan untuk memelihara koneksi antara cluster Anda dan Google Cloud. | roles/gkehub.connect |
daftar anthos-baremetal | Agen Connect menggunakan akun layanan ini untuk mendaftarkan cluster Anda ke perangkat Google Cloud. | roles/gkehub.admin |
anthos-baremetal-cloud-ops | Agen Stackdriver menggunakan akun layanan ini untuk mengekspor log dan metrik mulai dari cluster hingga Cloud Logging dan Cloud Monitoring. |
roles/logging.logWriter roles/monitoring.metricWriter roles/stackdriver.resourceMetadata.writer roles/opsconfigmonitoring.resourceMetadata.writer roles/monitoring.dashboardEditor |
Menentukan file kunci SA
Jika ingin, Anda dapat meneruskan file kunci akun layanan ke bmctl
yang Anda buat. Perintah berikut menggunakan
nama file kunci di
Mengonfigurasi akun layanan secara manual
dan mengasumsikan bahwa bmctl
serta file kunci sedang berfungsi saat ini
saat ini.
./bmctl register bootstrap \ --ssh-key=YOUR_PRIVATE_KEY \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=FLEET_HOST_PROJECT_ID \ --gcr-service-account-key=anthos-baremetal-gcr.json \ --gke-agent-service-account-key=connect-agent.json \ --gke-register-service-account-key=connect-register.json \ --cloud-operation-service-account-key=anthos-baremetal-cloud-ops.json
Ganti kode berikut:
YOUR_PRIVATE_KEY
: Jalur ke pribadi Anda kunci SSH. Anda membuat kunci SSH ketika menyiapkan akses SSH root ke node.ADMIN_CLUSTER_NAME
: Nama cluster admin Anda.FLEET_HOST_PROJECT_ID
: Project yang admin akan terdaftar secara otomatis setelah cluster dibuat.
Flag berikut menentukan jalur ke file kunci:
-gcr-service-account-key
: Jalur ke file kunci untuk layanan akun yang mengambil image container (anthos-baremetal-gcr
).--gke-agent-service-account-key
: Jalur ke file kunci untuk akun layanan Connect Agent (anthos-baremetal-connect
).--gke-register-service-account-key
: Jalur ke file kunci untuk akun layanan Connect Agent yang mendaftarkan cluster ke perangkat (anthos-baremetal-register
).--cloud-operation-service-account-key
: Jalur ke file kunci untuk akun layanan untuk mengaudit log dan memantau project (anthos-baremetal-cloud-ops
).
Setelah bmctl
berhasil membuat cluster bootstrap, Anda akan melihat output
mirip dengan contoh berikut ini:
[2023-03-22 17:35:24+0000] Waiting for the temporary cluster to be registered... OK [2023-03-22 17:35:37+0000] Please go to https://console.cloud.google.com/home/dashboard?project=example-project-12345 to create the cluster [2023-03-22 17:35:37+0000] Waiting for preflight checks and cluster to run..
Membuat cluster admin
Konsol
Pada halaman Install bootstrap environment, klik Periksa Koneksi.
Jika berhasil, konsol akan menampilkan
Koneksi dibuat.Koneksi ke cluster bootstrap harus dibuat sebelum Anda melanjutkan. Jika koneksi tidak berhasil, periksa argumen yang yang Anda tentukan ke perintah
bmctl register bootstrap
:Pastikan nilai untuk
--target-cluster-name
cocok dengan Nama cluster admin ditampilkan di Bagian Dasar-dasar lingkungan booting.Pastikan nilai untuk
--project-id
cocok dengan ID project yang dipilih di konsol.
Jika Anda perlu mengubah nama cluster bootstrap atau project ID, masukkan
Ctrl-C
untuk keluar daribmctl register bootstrap
dan jalankan kembali perintah tersebut.Klik Berikutnya untuk mulai mengonfigurasi cluster admin. Sebagian besar di konsol sesuai dengan bidang di file konfigurasi cluster.
Di bagian Konfigurasi node, masukkan nilai di antara 64 dan 250 pada Pod Maksimum per node, atau terima nilai default, 110. Setelah cluster dibuat, Anda tidak dapat memperbarui nilai ini.
Pod maksimum per node (disebut sebagai Pod kepadatan} juga dibatasi oleh resource IP yang tersedia milik cluster Anda. Untuk mengetahui detailnya, lihat Jaringan pod.
Klik Berikutnya.
Di halaman Networking, tentukan cara node dan komponen Anda di berkomunikasi satu sama lain dan dengan bidang kontrol Kubernetes.
Untuk informasi selengkapnya, tahan kursor
di samping setiap kolom tersebut.Klik Verifikasi dan Buat.
Konsol menampilkan pesan status saat memverifikasi pengaturan dan membuat cluster di pusat data Anda.
Jika ada masalah dengan konfigurasi, konsol akan menampilkan pesan {i>error<i} yang seharusnya cukup jelas bagi Anda untuk memperbaiki konfigurasi masalah, lalu coba lagi untuk membuat cluster.
gcloud CLI
Sebelum membuat cluster admin, pastikan bahwa cluster bootstrap telah terdaftar sebagai anggota armada:
gcloud container fleet memberships list \ --project=FLEET_HOST_PROJECT_ID
Jika cluster bootstrap tidak tercantum, periksa nama cluster bootstrap dan
project ID yang Anda tentukan untuk bmctl register bootstrap
. Jika Anda ingin
ubah nama cluster bootstrap atau ID project, masukkan Ctrl-C
untuk keluar
dari bmctl register bootstrap
dan jalankan kembali perintah tersebut.
Gunakan perintah berikut untuk membuat cluster admin:
gcloud container bare-metal admin-clusters create
Sebagian besar flag yang Anda tentukan pada perintah sesuai dengan kolom di file konfigurasi cluster pengguna.
Untuk membuat cluster admin dengan load balancer yang dipaketkan:
gcloud container bare-metal admin-clusters create ADMIN_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --version=VERSION \ --max-pods-per-node=MAX_PODS_PER_NODE \ --control-plane-vip=CONTROL_PLANE_VIP \ --control-plane-load-balancer-port=CONTROL_PLANE_LOAD_BALANCER_PORT \ --control-plane-node-configs 'CONTROL_PLANE_NODE_CONFIG' \ --island-mode-service-address-cidr-blocks=SERVICE_ADDR_CIDR \ --island-mode-pod-address-cidr-blocks=POD_ADDR_CIDR \ --lvp-share-path=/mnt/localpv-share \ --lvp-share-storage-class=local-shared \ --lvp-node-mounts-config-path=/mnt/localpv-disk \ --lvp-node-mounts-config-storage-class=local-disks
Jika Anda ingin menggunakan load balancing manual, tambahkan --enable-manual-lb
ke
perintah.
Ganti kode berikut:
ADMIN_CLUSTER_NAME
: Nama cluster admin Anda. Nama tidak dapat diubah setelah cluster dibuat.FLEET_HOST_PROJECT_ID
: Project yang admin akan terdaftar secara otomatis setelah cluster dibuat. Project host fleet tidak dapat diubah setelah cluster dibuat.REGION
: Region Google Cloud tempat GKE On-Prem API akan berjalan. Tentukanus-west1
atau yang lainnya wilayah yang didukung. Region tidak dapat diubah setelah cluster dibuat. Setelan ini menentukan region tempat hal berikut disimpan:- Metadata cluster yang diperlukan GKE On-Prem API untuk mengelola siklus proses cluster
- Data Cloud Logging dan Cloud Monitoring komponen sistem
- Log Audit Admin yang dibuat oleh Cloud Audit Logs
Nama cluster, project, dan lokasi secara unik mengidentifikasi cluster di Google Cloud.
VERSION
: Versi Google Distributed Cloud. Versi harus cocok dengan versibmctl
yang Anda gunakan untuk menjalankanbmctl register bootstrap
. Anda dapat memeriksa versibmctl
dengan menjalankanbmctl version
di workstation admin.MAX_PODS_PER_NODE
: Untuk cluster admin, nilai yang diizinkan adalah 32-250 dan 64-250 untuk klaster non-HA. Nilai default jika--max-pods-per-node
tidak disertakan dalam perintah tersebut adalah 110. Sesudah cluster dibuat, nilai ini tidak dapat diperbarui.Pod maksimum per node (disebut sebagai kepadatan Pod) juga dibatasi oleh resource IP yang tersedia milik cluster Anda. Untuk mengetahui detailnya, lihat Jaringan pod.
CONTROL_PLANE_VIP
: IP virtual (VIP) pada beban untuk server Kubernetes API cluster. Sertakan bidang kontrol VIP di subnet yang sama dengan node load balancer. Jangan sertakan VIP bidang kontrol di kumpulan alamat load balancer.CONTROL_PLANE_LOAD_BALANCER_PORT
: Port beban di bidang kontrol. Meskipun Anda dapat mengonfigurasi nilai, port443
adalah port standar yang digunakan untuk koneksi HTTPS.CONTROL_PLANE_NODE_CONFIG
: Alamat IPv4 {i>node<i} bidang kontrol. Node bidang kontrol menjalankan beban kerja sistem. Menentukan penanda ini untuk setiap simpul bidang kontrol. Biasanya, Anda memiliki satu komputer jika menggunakan deployment minimum, atau tiga mesin jika menggunakan deployment ketersediaan tinggi (HA). Tentukan jumlah ganjil node untuk memiliki kuorum mayoritas untuk HA. Anda dapat mengubah alamat ini setiap kali memperbarui atau mengupgrade cluster.Nilai untuk tanda memiliki format berikut:
'node-ip=CP_IP_ADDRESS_1,labels=CP_KEY_1.1=CP_VALUE_1.1;CP_KEY_1.2=CP_VALUE_1.2;...' \
Nilai ini memiliki segmen yang dimulai dengan kata kunci
node-ip
danlabels
. Pisahkan setiap segmen dengan koma.node-ip
: Alamat IP node bidang kontrol. Anda dapat menentukan hanya satunode-ip
per tanda. Jika Anda perlu menentukan lebih dari satu , sertakan kembali flag untuk setiap node.labels
: Satu atau beberapa key-value pair yang dilampirkan ke node.
Perhatikan aturan sintaksis berikut:
- Mengapit seluruh nilai dalam tanda kutip tunggal.
- Spasi kosong tidak diizinkan.
- Pisahkan setiap pasangan nilai kunci di segmen
labels
dengan tanda titik koma.
Contoh:
--control-plane-node-configs 'node-ip=192.0.2.1' \ --control-plane-node-configs 'node-ip=192.0.2.2,labels=key2.1=value2.1' \ --control-plane-node-configs 'node-ip=192.0.2.3,labels=key3.1=value3.1;key3.2=value3.2' \
SERVICE_ADDR_CIDR
: Rentang alamat IPv4, di Format CIDR, untuk Layanan di cluster Anda. Rentang CIDR harus antara /24 dan /12, di mana /12 adalah yang paling banyak memberikan alamat IP. Saran dari kami Anda menggunakan rentang dalam ruang alamat IP untuk internet pribadi, didefinisikan dalam RFC 1918, misalnya10.96.0.0/20
.POD_ADDR_CIDR
: Rentang alamat IPv4, di Format CIDR, yang akan digunakan untuk Pod di cluster pengguna. Rentang CIDR harus antara /18 dan /8, di mana /8 memberikan alamat IP paling banyak. Saran dari kami Anda menggunakan rentang dalam ruang alamat IP untuk internet pribadi, didefinisikan dalam RFC 1918, misalnya192.168.0.0/16
.
Anda harus menentukan flag penyimpanan berikut. Perintah contoh menyertakan nilai standar. Untuk informasi selengkapnya, lihat Mengonfigurasi penyimpanan lokal.
--lvp-share-path
: Ini adalah jalur mesin host tempat subdirektori dapat dibuat. PersistentVolume (PV) lokal dibuat untuk setiap subdirektori.--lvp-share-storage-class
: Ini adalah StorageClass yang akan digunakan untuk membuat volume persisten. StorageClass dibuat selama pembuatan cluster.--lvp-node-mounts-config-path
: Ini adalah jalur mesin host tempat pemasangan {i>disk<i} dapat ditemukan. PersistentVolume (PV) lokal dibuat untuk setiap terpasang.--lvp-node-mounts-config-storage
: Kelas penyimpanan yang dibuat PV selama pembuatan cluster.
Untuk mengetahui daftar lengkap tanda dan deskripsinya, lihat Referensi gcloud CLI.
Output dari perintah ini mirip dengan berikut ini:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
Dalam contoh output, string operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
adalah OPERATION_ID
dari operasi yang berjalan lama. Anda
dapat mengetahui status operasi dengan perintah berikut:
gcloud container bare-metal operations describe OPERATION_ID \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION
Untuk informasi selengkapnya, lihat gcloud container bare-metal operations.
Memperbaiki error preflight
Sebelum membuat cluster, bmctl
menjalankan serangkaian pemeriksaan preflight untuk
memverifikasi konfigurasi. Jika terjadi masalah dengan konfigurasi,
Perintah gcloud ... create
keluar dengan error yang mirip dengan:
ERROR: (gcloud.container.bare-metal.admin-clusters.create) Invalid resource state for "projects/694677185633/locations/us-west1/bareMetalAdminClusters/abm-cluster-1": cluster preflight checks failed
Misalnya, asumsikan bahwa pemeriksaan preflight gagal karena bidang kontrol node tidak dapat dijangkau. Di workstation admin, Anda akan melihat sesuatu mirip dengan contoh berikut ini:
[2023-03-27 20:34:38+0000] Waiting for preflight check job to finish... OK [2023-03-27 20:35:58+0000] - Validation Category: machines and network [2023-03-27 20:35:58+0000] - [PASSED] pod-cidr [2023-03-27 20:35:58+0000] - [FAILED] node-network (log: bmctl-workspace/log/register-bootstrap-20230327-201548/node-network) [2023-03-27 20:35:58+0000] - Failed to connect to the host via ssh: ssh: connect to host 10.100.0.5 port 22: Connection timed out [2023-03-27 20:35:58+0000] Flushing logs... OK [2023-03-27 20:35:58+0000] Error polling the preflight check abm-cluster-mar-27 in the cluster-abm-cluster-mar-27: preflight check failed
Di workstation admin, pastikan
bmctl register bootstrap
proses masih berjalan. Jika tidak, jalankan kembali perintah dengan argumen yang sama dan tambahkan flag--reuse-bootstrap-cluster=true
.Jalankan
gcloud ... update
untuk memperbaiki alamat IP yang tidak valid:gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --control-plane-node-configs 'node-ip=NEW_NODE_ID_ADDRESS'
Untuk informasi selengkapnya, lihat gcloud container bare-metal admin-clusters update.
Detail tentang proses pembuatan cluster ada di output admin Anda Infrastruktur Cloud. Jika pemeriksaan preflight lulus, Anda akan melihat sesuatu seperti berikut ini:
[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK [2023-03-22 23:15:47+0000] Writing kubeconfig file [2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at bmctl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig [2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster. [2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK [2023-03-22 23:20:17+0000] Please run [2023-03-22 23:20:17+0000] kubectl --kubeconfig bmctl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes [2023-03-22 23:20:17+0000] to get cluster nodes status. [2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK [2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK [2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK [2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster [2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK [2023-03-22 23:27:41+0000] Flushing logs... OK [2023-03-22 23:27:41+0000] Deleting membership... OK [2023-03-22 23:27:42+0000] Deleting bootstrap cluster.
Hubungkan ke cluster admin
Perintah bmctl register bootstrap
membuat file kubeconfig
untuk admin
cluster di workstation admin Anda. Direktori tempat kubeconfig
berada
terletak dan nama filenya didasarkan pada nama cluster admin sebagai berikut:
bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Anda harus membatasi akses ke kubeconfig
ini karena berisi
dan kredensial autentikasi
untuk cluster tersebut.
Jika ingin menggunakan identitas Google Anda untuk login ke cluster, Anda dapat atur gateway koneksi seperti berikut:
Di workstation admin Anda, tetapkan variabel lingkungan
KUBECONFIG
:export KUBECONFIG=$HOME/bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Tetapkan konteks saat ini dalam variabel lingkungan:
export CONTEXT="$(kubectl config current-context)"
Jalankan perintah
gcloud
berikut. Perintah ini akan melakukan hal berikut:- Memberi akun pengguna Anda
clusterrole/view
Kubernetes peran pada cluster. - Mengonfigurasi cluster agar Anda dapat menjalankan perintah
kubectl
hanya baca di komputer lokal Anda tanpa harus SSH ke komputer admin.
Ganti
GOOGLE_ACCOUNT_EMAIL
dengan alamat email yang dikaitkan dengan akun Google Cloud Anda. Contoh:--users=alex@example.com
.gcloud container fleet memberships generate-gateway-rbac \ --membership=ADMIN_CLUSTER_NAME \ --role=clusterrole/view \ --users=GOOGLE_ACCOUNT_EMAIL \ --project=FLEET_HOST_PROJECT_ID \ --kubeconfig=$KUBECONFIG \ --context=$CONTEXT\ --apply
{i>Output<i} dari perintah ini mirip dengan berikut ini, yang terpotong agar mudah dibaca:
Validating input arguments. Specified Cluster Role is: clusterrole/view Generated RBAC policy is: -------------------------------------------- ... Writing RBAC policy for user: GOOGLE_ACCOUNT_EMAIL to cluster. Successfully applied the RBAC policy to cluster.
- Memberi akun pengguna Anda
Setelah kebijakan RBAC ini diterapkan, Anda dapat login ke cluster dari
konsol menggunakan identitas Google Anda. Selain itu, Anda dapat menjalankan
perintah kubectl
hanya-baca di komputer selain workstation admin yang menggunakan
kubeconfig
khusus yang merutekan permintaan melalui
menghubungkan gateway.
Jalankan perintah berikut di komputer selain workstation admin untuk mendapatkan entri
kubeconfig
yang dapat mengakses cluster melalui menghubungkan gateway.gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID
Outputnya mirip dengan hal berikut ini:
Starting to build Gateway kubeconfig... Current project_id: FLEET_HOST_PROJECT_ID A new kubeconfig entry "connectgateway_FLEET_HOST_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.
Kini Anda dapat menjalankan perintah
kubectl
melalui gateway koneksi:kubectl get pods -A
Langkah selanjutnya
- Menghapus cluster admin
- Membatalkan pendaftaran cluster yang tidak tersedia
- Menambahkan cluster pengguna
- Mengelola cluster dari Konsol Google Cloud