Membuat cluster admin

Dokumen ini menunjukkan cara membuat cluster admin untuk Google Distributed Cloud. Cluster admin mengelola cluster pengguna yang menjalankan workload Anda.

Halaman ini ditujukan untuk Admin, Arsitek, dan Operator yang menyiapkan, memantau, dan mengelola infrastruktur teknologi. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami rujuk dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise yang umum.

Untuk mengetahui detail selengkapnya tentang cluster admin, lihat ringkasan penginstalan.

Ringkasan prosedur

Berikut adalah langkah utama yang diperlukan untuk membuat cluster admin:

  1. Menyiapkan workstation admin.
    Mesin ini memiliki alat yang diperlukan untuk membuat cluster baru.
  2. Isi file konfigurasi Anda.
    Tentukan detail untuk admin baru Anda cluster dengan menyelesaikan dan memvalidasi file konfigurasi cluster admin, file konfigurasi kredensial, dan mungkin file blok IP.
  3. Impor OS image ke vSphere, dan kirim image container ke registry pribadi jika berlaku.
    Jalankan gkectl prepare.
  4. Membuat cluster admin.
    Gunakan gkectl untuk membuat cluster admin baru seperti yang ditentukan di menyelesaikan file konfigurasi. Saat Google Distributed Cloud membuat admin cluster, yang men-deploy Kubernetes dalam Docker (jenis) untuk menghosting pengontrol Kubernetes sementara yang diperlukan guna membuat ke cluster admin. Cluster sementara ini disebut cluster bootstrap. Pengguna cluster dibuat dan diupgrade oleh admin pengelolanya tanpa menggunakan dari cluster bootstrap.
  5. Pastikan cluster admin Anda berjalan.
    Gunakan kubectl untuk melihat node cluster Anda.

Di akhir prosedur ini, Anda akan memiliki kelompok admin yang berjalan yang dapat Anda gunakan untuk membuat dan mengelola klaster pengguna.

Jika menggunakan Kontrol Layanan VPC, Anda mungkin melihat error saat menjalankan Perintah gkectl, seperti "Validation Category: GCP - [UNKNOWN] GCP service: [Stackdriver] could not get GCP services". Untuk menghindari kesalahan ini, tambahkan parameter --skip-validation-gcp ke perintah Anda.

Sebelum memulai

  • Ulas Dokumen perencanaan alamat IP. Pastikan Anda menyediakan alamat IP yang cukup untuk tiga bidang kontrol dan VIP bidang kontrol. Jika Anda berencana untuk membuat cluster pengguna Kubernetes, maka Anda harus memiliki alamat IP yang cukup untuk node bidang kontrol cluster pengguna tersebut.

  • Ulas ringkasan load balancing dan meninjau kembali keputusan Anda jenis load balancer yang ingin Anda gunakan. Untuk load balancer tertentu, Anda harus menyiapkan load balancer sebelum membuat cluster admin.

  • Lihatlah ke depan privateRegistry dan memutuskan apakah Anda ingin menggunakan kantor pendaftaran publik atau pribadi untuk komponen Google Distributed Cloud.

  • Lihatlah ke depan osImageType , lalu tentukan jenis sistem operasi yang ingin dijalankan di admin node cluster.

  • Jika organisasi Anda mengharuskan traffic keluar untuk melewati proxy {i>server<i}, pastikan untuk izinkan API yang diperlukan dan alamat Container Registry.

  • Pada versi 1.29 dan yang lebih tinggi, pemeriksaan preflight sisi server diaktifkan oleh secara default. Pemeriksaan preflight sisi server memerlukan aturan firewall tambahan. Di beberapa Aturan firewall untuk cluster admin, telusuri "Pemeriksaan preflight" dan memastikan semua aturan {i>firewall<i} yang diperlukan dikonfigurasi. Pemeriksaan preflight sisi server dijalankan di cluster bootstrap secara lokal di workstation admin.

1. Menyiapkan workstation admin Anda

Pastikan Anda telah menyiapkan dan dapat login ke workstation admin seperti yang dijelaskan inci Membuat workstation admin. Workstation admin memiliki alat yang Anda perlukan untuk membuat cluster admin.

Lakukan semua langkah yang tersisa dalam dokumen ini di workstation admin Anda.

2. Isi file konfigurasi Anda

Jika Anda menggunakan gkeadm untuk membuat workstation admin, konfigurasi akan dibuat file bernama admin-cluster.yaml.

Jika Anda tidak menggunakan gkeadm untuk membuat workstation admin, buat admin-cluster.yaml dengan menjalankan perintah ini di workstation admin Anda:

gkectl create-config admin

File konfigurasi ini digunakan untuk membuat cluster admin.

Pelajari file konfigurasi dengan memindai file konfigurasi cluster admin dokumen. Anda mungkin ingin menyimpan dokumen ini terbuka di tab atau jendela terpisah, karena Anda akan menjadikannya referensi saat menyelesaikan langkah-langkah berikut.

name

Jika Anda ingin menentukan nama untuk cluster admin, isi Kolom name.

bundlePath

Paket ini adalah file ZIP yang berisi komponen cluster. Sudah disertakan dengan workstation admin. Kolom ini sudah diisi untuk Anda.

vCenter

Kolom di bagian ini sudah diisi dengan nilai yang Anda masukkan saat Anda membuat workstation admin Anda.

network

Isilah network.controlPlaneIPBlock dan Bagian network.hostConfig. Tetapkan juga adminMaster.replicas ke 3.

Tujuan network.podCIDR dan network.serviceCIDR kolom memiliki nilai terisi otomatis yang tidak dapat diubah kecuali jika bentrok dengan alamat yang sudah digunakan di jaringan Anda. Penggunaan Kubernetes rentang ini untuk menetapkan alamat IP ke Pod dan Service di cluster Anda.

Isilah sisa bidang di jaringan dari file konfigurasi secara permanen sesuai kebutuhan.

loadBalancer

Menyisihkan VIP untuk server Kubernetes API dari cluster admin Anda. Sediakan VIP Anda sebagai nilai untuk loadBalancer.vips.controlPlaneVIP

Untuk informasi selengkapnya, lihat VIP di subnet cluster admin.

Memutuskan jenis load balancing yang ingin Anda gunakan. Opsinya adalah:

  • Load balancing paket MetalLB. Setel loadBalancer.kind ke "MetalLB".

  • Load balancing terintegrasi dengan F5 BIG-IP. Tetapkan loadBalancer.kind ke "F5BigIP", dan isi f5BigIP bagian.

  • Load balancing manual. Setel loadBalancer.kind ke "ManualLB", dan isi tindakan manualLB bagian.

Untuk mengetahui informasi selengkapnya tentang opsi load balancing, lihat Ringkasan load balancing.

antiAffinityGroups

Setel antiAffinityGroups.enabled ke true atau false sesuai preferensi Anda.

Gunakan kolom ini untuk menentukan apakah Anda ingin Google Distributed Cloud membuat Distributed Resource Scheduler VMware aturan anti-afinitas (DRS) untuk node cluster admin Anda, sehingga tersebar di setidaknya tiga {i>host<i} fisik di pusat data Anda.

adminMaster

Jika Anda ingin menentukan CPU dan memori untuk node bidang kontrol admin cluster, isi kolom cpus dan memoryMB di adminMaster bagian.

Tetapkan kolom replicas di bagian adminMaster ke 3.

proxy

Jika jaringan yang akan memiliki simpul cluster admin Anda berada di belakang server {i>proxy<i}, isi proxy bagian.

privateRegistry

Menentukan lokasi penyimpanan image container untuk Google Distributed Cloud komponen. Opsinya adalah:

  • Container Registry

  • Registry Docker pribadi Anda.

Jika Anda ingin menggunakan {i>registry<i} pribadi Anda sendiri, isi privateRegistry bagian.

componentAccessServiceAccountKeyPath

Google Distributed Cloud menggunakan akun layanan akses komponen Anda untuk mendownload komponen cluster dari Container Registry. Bidang ini menyimpan jalur JSON untuk akun layanan akses komponen Anda.

Kolom ini sudah diisi untuk Anda.

gkeConnect

Mendaftarkan cluster admin ke fleet Google Cloud dengan mengisi gkeConnect bagian. Jika Anda menyertakan bagian stackdriver dan cloudAuditLogging di file konfigurasi, ID di gkeConnect.projectID harus sama dengan ID ditetapkan di stackdriver.projectID dan cloudAuditLogging.projectID. Jika proyek ID tidak sama, pembuatan cluster gagal.

Di 1.28 dan yang lebih baru, Anda dapat secara opsional menentukan wilayah tempat Armada dan Menghubungkan layanan yang berjalan di gkeConnect.location. Jika Anda tidak menyertakan kolom ini, cluster menggunakan instance global layanan ini.

Jika Anda menyertakan gkeConnect.location, wilayah yang Anda tentukan harus berupa sama dengan region yang dikonfigurasi di cloudAuditLogging.clusterLocation, stackdriver.clusterLocation, dan gkeOnPremAPI.location. Jika wilayah tidak sama, pembuatan cluster gagal.

gkeOnPremAPI

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 stackdriver.clusterLocation. Region gkeOnPremAPI.location harus sama dengan region yang ditentukan di cloudAuditLogging.clusterLocation, gkeConnect.location, dan stackdriver.clusterLocation. Jika region tidak sama, buat cluster pembuatan gagal.

  • Jika Anda ingin mendaftarkan semua cluster dalam project di GKE On-Prem API, pastikan untuk melakukan langkah-langkah dalam Sebelum memulai mengaktifkan dan menggunakan GKE On-Prem API di project.

  • Jika Anda tidak ingin mendaftarkan cluster di GKE On-Prem API, sertakan bagian ini dan menyetel gkeOnPremAPI.enabled ke false. Jika Anda tidak ingin mendaftarkan cluster apa pun dalam project, nonaktifkan gkeonprem.googleapis.com (nama layanan untuk GKE On-Prem API) di awal proyek. Untuk mengetahui petunjuknya, lihat Menonaktifkan layanan.

stackdriver

Jika Anda ingin mengaktifkan Cloud Logging dan Cloud Monitoring untuk cluster Anda, isi stackdriver bagian.

Bagian ini wajib ada secara default. Artinya, jika Anda tidak mengisi Anda harus menyertakan tanda --skip-validation-stackdriver saat jalankan gkectl create admin.

Perhatikan persyaratan berikut untuk cluster baru:

  • ID di stackdriver.projectID harus sama dengan ID di gkeConnect.projectID dan cloudAuditLogging.projectID.

  • Region Google Cloud yang ditetapkan di stackdriver.clusterLocation harus sama sebagai region yang ditetapkan dalam cloudAuditLogging.clusterLocation dan gkeConnect.location (jika kolom disertakan dalam file konfigurasi Anda). Selain itu, jika gkeOnPremAPI.enabled adalah true, region yang sama harus ditetapkan di gkeOnPremAPI.location.

Jika project ID dan region tidak sama, pembuatan cluster akan gagal.

cloudAuditLogging

Jika Anda ingin mengintegrasikan log audit dari Kubernetes API cluster Anda server tertentu dengan Cloud Audit Logs, isi cloudAuditLogging bagian.

Perhatikan persyaratan berikut untuk cluster baru:

  • ID di cloudAuditLogging.projectID harus sama dengan ID di gkeConnect.projectID dan stackdriver.projectID.

  • Region Google Cloud yang ditetapkan di cloudAuditLogging.clusterLocation harus sama dengan region yang ditetapkan dalam stackdriver.clusterLocation dan gkeConnect.location (jika kolom disertakan dalam file konfigurasi Anda). Selain itu, jika gkeOnPremAPI.enabled adalah true, region yang sama harus ditetapkan di gkeOnPremAPI.location.

Jika project ID dan region tidak sama, pembuatan cluster akan gagal.

clusterBackup

Jika Anda ingin mengaktifkan mencadangkan cluster admin, tetapkan clusterBackup.datastore ke Datastore vSphere tempat Anda ingin menyimpan cadangan cluster.

autoRepair

Jika Anda ingin aktifkan perbaikan node otomatis untuk cluster admin Anda, setel autoRepair.enabled ke true.

secretsEncryption

Jika Anda ingin mengaktifkan enkripsi Secret yang selalu aktif, isi secretsEncryption bagian.

osImageType

Tentukan jenis OS image yang ingin Anda gunakan untuk node cluster admin, dan isi osImageType bagian yang sesuai.

Contoh file konfigurasi yang terisi

Berikut adalah contoh file konfigurasi cluster admin yang sudah diisi. Tujuan konfigurasi memungkinkan sebagian, tetapi tidak semua, fitur yang tersedia.

vc-01-admin-cluster.yaml

apiVersion: v1
kind: AdminCluster
name: "gke-admin-01"
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.28.0-gke.1-full.tgz"
vCenter:
  address: "vc01.example"
  datacenter: "vc-01"
  cluster: "vc01-workloads-1"
  resourcePool: "vc-01-pool-1"
  datastore: "vc01-datastore-1"
  caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem""
  credentials:
    fileRef:
      path: "credential.yaml"
      entry: "vCenter"
network:
  hostConfig:
    dnsServers:
    - "203.0.113.1"
    - "198.51.100.1"
    ntpServers:
    - "216.239.35.4"
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"
  vCenter:
    networkName: "vc01-net-1"
  controlPlaneIPBlock:
    netmask: "255.255.248.0"
    gateway: "21.0.143.254"
    ips:
    - ip: "21.0.140.226"
      hostname: "admin-cp-vm-1"
    - ip: "21.0.141.48"
      hostname: "admin-cp-vm-2"
    - ip: "21.0.141.65"
      hostname: "admin-cp-vm-3"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.20.59"
  kind: "MetalLB"
antiAffinityGroups:
  enabled: true
adminMaster:
  cpus: 4
  memoryMB: 16384
  replicas: 3
componentAccessServiceAccountKeyPath: "sa-key.json"
gkeConnect:
  projectID: "my-project-123"
  registerServiceAccountKeyPath: "connect-register-sa-2203040617.json"
stackdriver:
  projectID: "my-project-123"
  clusterLocation: "us-central1"
  enableVPC: false
  serviceAccountKeyPath: "log-mon-sa-2203040617.json"
  disableVsphereResourceMetrics: false
clusterBackup:
  datastore: "vc-01-datastore-bu"
autoRepair:
  enabled: true
osImageType: "ubuntu_containerd"

Memvalidasi file konfigurasi

Setelah mengisi file konfigurasi cluster admin, jalankan gkectl check-config untuk memverifikasi bahwa file tersebut valid:

gkectl check-config --config ADMIN_CLUSTER_CONFIG

Ganti ADMIN_CLUSTER_CONFIG dengan jalur cluster admin Anda file konfigurasi Anda.

Jika perintah menampilkan pesan kegagalan, perbaiki masalahnya dan validasi kembali lagi.

Jika Anda ingin melewati validasi yang lebih memakan waktu, teruskan flag --fast. Untuk melewati validasi individual, gunakan tanda --skip-validation-xxx. Kepada pelajari perintah check-config lebih lanjut. Lihat Menjalankan pemeriksaan preflight.

3. Dapatkan OS image

Jalankan gkectl prepare untuk melakukan inisialisasi lingkungan vSphere:

gkectl prepare --config ADMIN_CLUSTER_CONFIG

Perintah gkectl prepare melakukan tugas persiapan berikut:

  • Mengimpor OS image ke vSphere dan menandainya sebagai template VM.

  • Jika Anda menggunakan registry Docker pribadi, kirim image container ke {i>registry<i} Anda.

  • Anda juga dapat memvalidasi image container pengesahan build, dengan demikian memverifikasi bahwa citra dibuat dan ditandatangani oleh Google dan siap untuk deployment.

5. Membuat cluster admin

Buat cluster admin:

gkectl create admin --config ADMIN_CLUSTER_CONFIG

Jika menggunakan Kontrol Layanan VPC, Anda mungkin melihat error saat menjalankan Perintah gkectl, seperti "Validation Category: GCP - [UNKNOWN] GCP service: [Stackdriver] could not get GCP services". Untuk menghindari kesalahan ini, tambahkan parameter --skip-validation-gcp ke perintah Anda.

Lanjutkan pembuatan cluster admin setelah kegagalan

Jika pembuatan cluster admin gagal atau dibatalkan, Anda dapat menjalankan perintah create lagi:

gkectl create admin --config ADMIN_CLUSTER_CONFIG

Menemukan file kubeconfig cluster admin

Perintah gkectl create admin membuat file kubeconfig bernama kubeconfig dalam direktori saat ini. Anda akan memerlukan file kubeconfig ini untuk berinteraksi dengan cluster admin Anda di lain waktu.

File kubeconfig berisi nama cluster admin Anda. Untuk melihat nama cluster, Anda dapat menjalankan:

kubectl config get-clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Output akan menampilkan nama cluster. Contoh:

NAME
gke-admin-tqk8x

Jika mau, Anda dapat mengubah nama dan lokasi file {i>kubeconfig<i} Anda.

Mengelola file checkpoint.yaml

Saat Anda menjalankan perintah gkectl create admin untuk membuat cluster admin, membuat file checkpoint di folder datastore yang sama dengan admin disk data cluster. Secara {i>default<i}, file ini memiliki nama DATA_DISK_NAME‑checkpoint.yaml Jika panjang DATA_DISK_NAME lebih dari atau sama dengan 245 karakter, maka, karena sampai batas {i>vSphere<i} pada panjang nama {i>file<i}, nama tersebut adalah DATA_DISK_NAME.yaml

File ini berisi status dan kredensial cluster admin, serta digunakan untuk upgrade di masa mendatang. Jangan hapus file ini kecuali Anda mengikuti proses untuk menghapus cluster admin.

Jika telah mengaktifkan enkripsi VM di instance Server vCenter, Anda harus memiliki Operasi kriptografi.Akses Langsung sebelum Anda membuat atau mengupgrade admin . Jika tidak, checkpoint tidak akan diupload. Jika Anda tidak bisa mendapatkan hak istimewa ini, maka Anda dapat menonaktifkan upload file checkpoint dengan flag tersembunyi --disable-checkpoint saat Anda menjalankan perintah yang relevan.

File checkpoint.yaml diperbarui secara otomatis saat Anda menjalankan gkectl upgrade admin, atau saat Anda menjalankan perintah gkectl update yang memengaruhi cluster admin.

6. Memastikan cluster admin Anda berjalan

Pastikan cluster admin Anda berjalan:

kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur cluster admin Anda {i>kubeconfig<i}.

Output menunjukkan node cluster admin. Contoh:

admin-cp-vm-1   Ready    control-plane,master   ...
admin-cp-vm-2   Ready    control-plane,master   ...
admin-cp-vm-3   Ready    control-plane,master   ...

7. Mencadangkan file

Sebaiknya cadangkan file kubeconfig cluster admin Anda. Yaitu, menyalin file {i>kubeconfig<i} dari workstation admin Anda ke lokasi lain. Kemudian jika Anda kehilangan akses ke workstation admin, atau jika file {i>kubeconfig<i} di akun admin Anda workstation secara tidak sengaja terhapus, Anda masih memiliki akses ke admin .

Sebaiknya Anda juga mencadangkan kunci SSH pribadi untuk cluster admin. Kemudian, jika Anda kehilangan akses ke cluster admin, Anda masih dapat menggunakan SSH untuk terhubung ke node cluster admin. Hal ini memungkinkan Anda untuk memecahkan masalah dan menyelidiki masalah apa pun terkait konektivitas ke cluster admin.

Ekstrak kunci SSH dari cluster admin ke file bernama admin-cluster-ssh-key:

kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get secrets -n kube-system sshkeys \
    -o jsonpath='{.data.vsphere_tmp}' | base64 -d > admin-cluster-ssh-key

Sekarang Anda dapat mencadangkan admin-cluster-ssh-key ke lokasi lain pilihan Anda.

Kebijakan RBAC

Saat Anda mengisi Bagian gkeConnect di file konfigurasi cluster admin Anda, cluster tersebut telah didaftarkan ke fleet selama pembuatan atau update. Untuk mengaktifkan fungsionalitas pengelolaan fleet, Google Cloud men-deploy Hubungkan agen dan buat akun akun layanan yang merepresentasikan project tempat cluster didaftarkan. Agen Connect membuat koneksi dengan akun layanan untuk menangani permintaan ke server Kubernetes API cluster. Hal ini memungkinkan akses ke fitur pengelolaan cluster dan workload di Google Cloud, termasuk akses ke Konsol Google Cloud, yang memungkinkan Anda berinteraksi dengan cluster Anda.

Server Kubernetes API cluster admin harus dapat melakukan otorisasi dari agen Connect. Untuk memastikannya, hal-hal berikut kebijakan kontrol akses berbasis peran (RBAC) dikonfigurasi di akun layanan:

  • Kebijakan peniruan identitas yang memberikan otorisasi kepada agen Connect untuk mengirim permintaan ke Kubernetes API server atas nama akun layanan.

  • Kebijakan izin yang menentukan operasi yang diizinkan di resource Kubernetes lainnya.

Akun layanan dan kebijakan RBAC diperlukan agar Anda dapat mengelola siklus proses cluster pengguna Anda di Konsol Google Cloud.

Pemecahan masalah

Lihat Memecahkan masalah pembuatan dan upgrade cluster.

Langkah selanjutnya

Membuat cluster pengguna