Dokumen ini menunjukkan cara membuat workstation admin, untuk Google Distributed Cloud. Workstation admin menghosting alat antarmuka command line (CLI) dan file konfigurasi untuk menyediakan cluster selama penginstalan, serta alat CLI untuk berinteraksi dengan cluster yang disediakan setelah penginstalan.
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 referensikan dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise umum.
Petunjuk di sini sudah lengkap. Untuk pengantar yang lebih singkat tentang cara membuat workstation admin, lihat Membuat workstation admin dalam panduan Membuat cluster dasar.
Ada dua cara untuk membuat workstation admin:
- Gunakan
gkeadm
untuk membuat VM workstation admin di lingkungan vSphere Anda. Buat workstation admin yang dikelola pengguna di komputer pilihan Anda.
gkeadm
Sebelum memulai
Ketahui alamat server vCenter Anda.
Ketahui jalur sertifikat CA Anda.
Buat satu atau beberapa project Google Cloud seperti yang dijelaskan dalam artikel Menggunakan beberapa project Google Cloud.
Merencanakan akun layanan
Saat menggunakan gkeadm
untuk membuat workstation admin, Anda memiliki opsi untuk
membiarkan gkeadm
membuat beberapa akun dan kunci layanan untuk Anda. Dalam hal
tersebut, gkeadm
juga memberikan peran Identity and Access Management yang sesuai ke akun
layanan.
Sebagai alternatif, Anda dapat membuat akun layanan dan kunci secara manual. Dalam hal ini, Anda harus memberikan peran IAM secara manual ke akun layanan.
Membuat akun layanan secara manual memberi Anda fleksibilitas lebih daripada membuat akun layanan dengan gkeadm
:
Semua akun layanan yang dibuat secara otomatis memiliki project Google Cloud induk yang sama dengan akun layanan akses komponen Anda. Saat membuat akun layanan secara manual, Anda dapat memilih project Google Cloud induk.
Semua akun layanan yang dibuat secara otomatis diberi peran IAM di project Google Cloud induk akun layanan akses komponen Anda. Hal ini tidak masalah jika itu adalah satu-satunya project Google Cloud yang terkait dengan cluster Anda. Namun, jika ingin mengaitkan cluster dengan beberapa project Google Cloud, Anda memerlukan fleksibilitas untuk memberikan peran ke akun layanan di project Google Cloud pilihan Anda.
Jika Anda memutuskan untuk membuat akun layanan sendiri, ikuti petunjuk di Akun layanan dan kunci.
Terlepas dari apakah Anda telah membuat akun layanan secara otomatis dengan gkeadm
atau tidak, ada satu akun layanan yang harus Anda buat secara manual: akun layanan akses komponen. Untuk petunjuk tentang cara membuat akun layanan akses komponen dan memberikan peran IAM yang sesuai, lihat Akun layanan akses komponen.
Ada satu akun layanan lain yang mungkin perlu Anda buat secara manual: akun layanan logging audit. Jika ingin menggunakan klien GKE On-Prem API untuk mengelola cluster pengguna, Anda harus mengaktifkan logging audit di cluster admin.
Membuat template untuk file konfigurasi
Download gkeadm
ke direktori Anda saat ini.
Membuat template:
./gkeadm create config
Perintah sebelumnya membuat file berikut di direktori saat ini:
credential.yaml
admin-ws-config.yaml
Mengisi credential.yaml
Di credential.yaml
, isi nama pengguna dan sandi vCenter Anda. Contoh:
kind: CredentialFile items: - name: vCenter username: "my-account-name" password: "AadmpqGPqq!a"
Mengisi admin-ws-config.yaml
Beberapa kolom di admin-ws-config.yaml
sudah diisi dengan nilai default
atau yang dihasilkan. Anda dapat mempertahankan nilai yang diisi atau melakukan perubahan sesuai
keinginan.
Kolom yang harus Anda isi
Isi kolom yang wajib diisi berikut. Untuk mengetahui informasi tentang cara mengisi kolom, File konfigurasi workstation admin.
gcp: componentAccessServiceAccountKeyPath: "Fill in" vCenter: credentials: address: "Fill in" datacenter: "Fill in" datastore: "Fill in" cluster: "Fill in" network: "Fill in" resourcePool: "Fill in" caCertPath: "Fill in"
Jika Anda ingin membuat workstation admin di dalam folder VM vSphere, isi kolom vCenter.folder
:
vCenter: folder: "Fill in"
Jika workstation admin Anda akan berada di belakang server proxy, isi kolom proxyURL
:
adminWorkstation: proxyURL: "Fill in"
Jika Anda ingin workstation admin mendapatkan alamat IP-nya dari server DHCP,
tetapkan ipAllocationMode
ke "dhcp"
, dan hapus bagian hostconfig
:
adminWorkstation: network: ipAllocationMode: "dhcp"
Jika Anda ingin menentukan alamat IP statis untuk workstation admin, tetapkan
ipAllocationMode
ke "static"
, dan isi bagian
hostconfig
:
adminWorkstation: network: ipAllocationMode: "static" hostconfig: ip: "Fill in" gateway: "Fill in" netmask: "Fill in" dns: - "Fill in"
Login
- Login dengan Akun Google apa pun. Tindakan ini akan menetapkan properti
account
SDK Anda:
gcloud auth login
- Pastikan properti
account
SDK Anda ditetapkan dengan benar:
gcloud config list
- Akun Google yang ditetapkan sebagai properti
account
SDK disebut akun SDK. Alat command linegkeadm
menggunakan akun SDK Anda untuk mendownload OVA workstation admin dan mengaktifkan layanan di project Google Cloud Anda.
Jika Anda memilih agar gkeadm
otomatis membuat akun layanan untuk Anda,
gkeadm
juga akan menggunakan akun SDK Anda untuk membuat akun layanan dan kunci,
serta memberikan peran ke akun layanan.
Jadi, Anda harus menetapkan properti account
SDK sebelum menjalankan
gkeadm
untuk membuat workstation admin.
Output menunjukkan nilai properti account
SDK Anda.
Contoh:
[core] account = my-name@google.com disable_usage_reporting = False Your active configuration is: [default]
Memberikan peran ke akun SDK Anda
Akun SDK Anda harus memiliki peran IAM berikut di project Google Cloud induk dari akun layanan akses komponen Anda.
Hal ini agar gkeadm
dapat mengaktifkan layanan di project Google Cloud.
serviceUsage.serviceUsageAdmin
Jika Anda memilih untuk membuat akun layanan secara otomatis dengan gkeadm
,
akun SDK Anda juga harus memiliki peran berikut di project
induk akun layanan akses komponen Anda. Hal ini agar gkeadm
dapat
membuat akun layanan dan kunci.
resourcemanager.projectIamAdmin
iam.serviceAccountCreator
iam.serviceAccountKeyAdmin
Untuk memberikan peran di project Google Cloud, Anda harus memiliki izin tertentu di project Google Cloud. Untuk mengetahui detailnya, lihat Memberikan, mengubah, dan mencabut akses ke resource.
Jika memiliki izin yang diperlukan, Anda dapat memberikan peran sendiri. Jika tidak, orang lain di organisasi Anda harus memberikan peran tersebut kepada Anda.
Untuk memberikan peran yang diperlukan ke akun SDK Anda:
Linux and macOS
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/serviceusage.serviceUsageAdmin"
Windows
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/serviceusage.serviceUsageAdmin"
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud induk dari akun layanan akses komponen AndaACCOUNT
: akun SDK Anda
Untuk memberikan peran tambahan jika Anda ingin gkeadm
membuat akun layanan secara otomatis:
Linux and macOS
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountKeyAdmin"
Windows
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountKeyAdmin"
Ganti kode berikut:
PROJECT_ID
: ID project induk akun layanan akses komponen AndaACCOUNT
: akun SDK Anda
Membuat workstation admin
Masukkan perintah ini untuk membuat workstation admin. Jika Anda ingin
gkeadm
membuat akun layanan
connect-register
dan
logging-monitoring
untuk Anda, sertakan
tanda --auto-create-service-accounts
. Jika Anda ingin membuat akun layanan tersebut secara manual, hapus tanda.
./gkeadm create admin-workstation [--auto-create-service-accounts]
Output ini memberikan informasi mendetail tentang pembuatan workstation admin Anda:
... Getting ... service account... ... ******************************************************************** Admin workstation is ready to use. Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation This file is required for future upgrades SSH into the admin workstation with the following command: ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1 ********************************************************************
Mendapatkan koneksi SSH ke workstation admin
Di dekat akhir output sebelumnya, ada perintah yang dapat Anda gunakan untuk mendapatkan koneksi SSH ke workstation admin. Masukkan perintah tersebut sekarang. Contoh:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1
Cantumkan file di workstation admin Anda:
ls -1
Dalam output, Anda dapat melihat dua file konfigurasi cluster, file sertifikat CA, dan file kunci JSON untuk akun layanan akses komponen. Jika gkeadm
membuat akun layanan untuk Anda, Anda juga dapat
melihat file kunci JSON untuk akun layanan tersebut. Contoh:
admin-cluster.yaml user-cluster.yaml vcenter-ca-cert.pem component-access-key.json
Pastikan gkeadm
mengaktifkan akun layanan akses komponen Anda di
workstation admin:
gcloud config get-value account
Menyalin file kunci JSON ke workstation admin
Sebelum Anda membuat cluster, file kunci JSON untuk akun layanan harus berada di workstation admin di direktori utama.
Kunci untuk akun layanan akses komponen Anda sudah ada di workstation admin Anda.
Jika Anda menyertakan tanda --auto-create-service-accounts
saat menjalankan
gkeadm create admin-workstation
, kunci untuk akun layanan
berikut sudah ada di workstation admin Anda di direktori utama. Jika tidak,
Anda harus menyalin kunci secara manual ke direktori utama workstation admin:
- Akun layanan Connect-register
- Akun layanan pemantauan logging
Jika Anda membuat salah satu akun layanan berikut, Anda harus menyalin kunci untuk akun layanan tersebut ke direktori utama workstation admin secara manual:
- Akun layanan pengukuran penggunaan
- Akun layanan logging audit
- Akun layanan otorisasi biner
Memulihkan workstation admin dari file cadangan
Saat Anda mengupgrade workstation admin, perintah gkeadm upgrade
akan menyimpan file cadangan. Kemudian, jika Anda tidak lagi memiliki workstation admin, atau jika Anda kehilangan beberapa file yang ada di workstation admin yang diupgrade, Anda dapat menggunakan file cadangan ini untuk membuat workstation admin yang dipulihkan ke kondisi yang ada tepat setelah upgrade.
Untuk membuat workstation admin dari file cadangan, jalankan perintah ini:
gkeadm create admin-workstation --restore-from-backup ADMIN_WORKSTATION_NAME-backup.tar.gz
Ganti ADMIN_WORKSTATION_NAME dengan nama workstation admin.
Dikelola pengguna
Pilih komputer yang akan berfungsi sebagai workstation admin Anda. Anda dapat menggunakan Ubuntu atau Red Hat Enterprise Linux (RHEL). Berikut adalah persyaratannya:
Ubuntu 20.04 LTS atau 22.04 LTS
- 4 inti CPU
- RAM 8 GiB
- Penyimpanan 100 GiB
RHEL 8.6, 8.7, atau 8.8
- 4 inti CPU
- RAM 12 GB
- Penyimpanan 256 GiB
Akses ke Google Cloud
Workstation admin Anda harus memiliki akses ke Google Cloud untuk mendownload dan menginstal alat, memproses permintaan otorisasi, membuat akun layanan, dan lainnya.
Untuk informasi tentang berbagai cara untuk terhubung ke Google Cloud, lihat Menghubungkan ke Google.
Akses ke Google Cloud dapat dilakukan secara langsung atau melalui server proxy. Untuk informasi tentang aturan firewall dan cara mengonfigurasi server proxy, lihat Aturan proxy dan firewall.
Akses ke Server vCenter
Untuk membuat dan mengelola cluster dari workstation admin, Anda memerlukan akses ke instance vCenter Server. Untuk informasi, lihat:
Menyiapkan server NTP
Jika cluster dikonfigurasi untuk menggunakan server NTP, Anda perlu menyiapkan
layanan sinkronisasi waktu di workstation admin untuk memastikan timedatectl
melaporkan waktu yang disinkronkan dengan cluster. Hal ini diperlukan untuk menghindari masalah
drift clock yang besar, yang dapat menyebabkan kegagalan verifikasi sertifikat karena
tanggal habis masa berlaku yang tidak cocok.
Ubuntu
Sebaiknya gunakan server waktu chrony
.
Untuk menginstal chrony
:
sudo apt-get update sudo apt install chrony
Hal ini menyediakan dua biner:
chronyd
- daemon untuk menyinkronkan dan menayangkan melalui Network Time Protocolchronyc
- antarmuka command line untuk daemonchrony
Untuk mengonfigurasi chronyd
:
Edit /etc/chrony/chrony.conf
untuk menambahkan atau menghapus baris server. Kemudian, mulai ulang
chrony
:
sudo systemctl restart chrony.service
RHEL
Sebaiknya gunakan server waktu chrony
.
Untuk petunjuk penginstalan, lihat Cara mengonfigurasi chrony.
Sudo tanpa sandi
Jika kebijakan keamanan Anda mengizinkannya, aktifkan sudo tanpa sandi untuk
pengguna saat ini. Hal ini memungkinkan gkectl
menyiapkan registry pribadi jika tersedia, menyiapkan proxy untuk Docker jika jaringan Anda berada di belakang server proxy, dan memaksa menghapus cluster bootstrap yang digunakan untuk operasi siklus proses cluster admin jika penghapusan gagal.
Jika Anda memilih untuk tidak mengaktifkan sudo tanpa sandi, dan ingin menggunakan registry pribadi untuk cluster admin, lakukan konfigurasi manual berikut sebelum membuat cluster admin:
Tempatkan sertifikat root CA untuk registry pribadi di direktori ini:
/etc/docker/certs.d/REGISTRY_ADDRESS/
Ganti REGISTRY_ADDRESS dengan alamat mesin yang menjalankan registry pribadi.
Untuk informasi selengkapnya, lihat Memverifikasi klien repositori dengan sertifikat.
Jika jaringan Anda berada di belakang server proxy, tentukan server proxy dalam file konfigurasi cluster admin, dan konfigurasi Docker untuk menggunakan server proxy.
Jika memilih untuk tidak mengaktifkan sudo tanpa sandi, Anda mungkin perlu menghapus cluster kind
secara manual setelah membuat cluster admin. Untuk informasi
selengkapnya, lihat
Cluster Kind tidak dihapus
dalam dokumentasi pemecahan masalah.
Menginstal software
Ubuntu
Instal software berikut:
Docker versi 19.03 atau yang lebih baru: Lihat Menginstal Docker Engine di Ubuntu. Pastikan pengguna non-root adalah anggota grup docker. Lihat Mengelola Docker sebagai pengguna non-root.
Google Cloud CLI versi terbaru: Lihat Menginstal gcloud CLI.
kubectl: Jalankan
gcloud components install kubectl
, atau gunakanapt-get
:
sudo apt-get update sudo apt-get -y install kubectl
RHEL
Instal software berikut:
Docker 19.03 atau yang lebih baru
Hapus versi Docker sebelumnya:
sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
Menghapus podman-manpages:
sudo dnf remove podman-manpages
Instal Docker 19.03+:
sudo dnf install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io sudo systemctl start docker
Pastikan Anda sekarang menjalankan versi 19.03+:
sudo docker version
Bandingkan output Anda dengan contoh berikut untuk memastikan versi Klien dan Server adalah 19.03+:
Client: Docker Engine - Community Version: 19.03.13 ... Server: Docker Engine - Community Engine: Version: 19.03.13
Pastikan Docker berjalan:
docker run hello-world
Anda akan melihat sesuatu yang mirip dengan ini:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Versi terbaru Google Cloud CLI:
Lihat Menginstal gcloud CLI.
kubectl
Jalankan gcloud components install kubectl
.
Login
Akun Google yang ditetapkan sebagai
properti account
SDK
disebut akun SDK. Alat command line gkectl
menggunakan akun SDK Anda untuk mendownload OVA node cluster, mengambil image container, dan lainnya. Jadi,
Anda harus menetapkan properti akun SDK sebelum menjalankan perintah
gkectl
.
Login dengan Akun Google apa pun. Tindakan ini akan menetapkan properti account
SDK Anda:
gcloud auth login
Pastikan properti account
SDK Anda ditetapkan dengan benar:
gcloud config list
Output menunjukkan nilai properti account
SDK Anda.
Contoh:
[core] account = my-name@google.com disable_usage_reporting = False Your active configuration is: [default]
Mendownload gkectl dan paket
Buka direktori tempat Anda ingin menginstal gkectl
.
Download gkectl
:
gcloud storage cp gs://gke-on-prem-release/gkectl/VERSION/gkectl ./ chmod +x gkectl
Ganti VERSION dengan versi Google Distributed Cloud. Contoh: 1.16.0-gke.1
.
Download paket Google Distributed Cloud. Pastikan versinya cocok dengan versi yang Anda gunakan untuk mendownload gkectl
:
gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/VERSION/gke-onprem-vsphere-VERSION.tgz ./
Akun layanan dan kunci
Pastikan Anda telah membuat akun layanan dan file kunci JSON yang diperlukan berikut:
Pastikan juga Anda telah membuat akun layanan opsional dan file kunci JSON yang diperlukan:
Tempatkan semua file kunci JSON di direktori beranda workstation admin Anda.
Pemecahan masalah
Bagian berikut mengaktifkan kembali akses SSH ke workstation admin jika kunci SSH hilang atau rusak.
Pemulihan kunci SSH
Gunakan VM sementara untuk melakukan langkah-langkah berikut:
Untuk membuat kumpulan kunci SSH baru, ikuti petunjuk di Membuat kunci SSH dalam dokumentasi Compute Engine.
Pastikan VM sementara dan workstation admin berada dalam status
Powered Off
.Dalam vSphere, pasang disk booting workstation admin ke VM sementara.
Disk booting memiliki label
Hard disk 1
.Pasang disk booting di dalam VM dengan menjalankan perintah berikut:
sudo mkdir -p /mnt/boot-disk sudo mount DISK_ID /mnt/boot-disk
Ganti
DISK_ID
dengan ID disk booting Anda, yang harus memiliki format yang mirip dengandev/sdc1
.Edit file
authorized_keys
di disk booting untuk menambahkan konten file kunci publik yang dibuat pada langkah pertama:vi /mnt/boot-disk/.ssh/authorized_keys
Matikan VM sementara.
Nyalakan workstation admin.
Gunakan kunci pribadi yang baru dibuat untuk mengakses workstation admin.
ssh -i ~/.ssh/new-admin-ws.key ubuntu@"${ADMIN_WS_IP}"
Gunakan kunci pribadi yang baru dibuat untuk terus mengakses workstation admin Anda.