Membuat workstation admin

Dokumen ini menunjukkan cara membuat workstation admin untuk GKE di VMware. Workstation admin menghosting alat antarmuka command line (CLI) dan file konfigurasi untuk menyediakan cluster selama penginstalan, dan alat CLI untuk berinteraksi dengan cluster yang disediakan setelah penginstalan.

Petunjuk yang diberikan di sini sudah lengkap. Untuk pengantar yang lebih singkat mengenai cara membuat workstation admin, lihat Membuat workstation admin (panduan memulai).

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 mana pun pilihan Anda.

gkeadm

Alat command line gkeadm tersedia untuk Linux 64-bit, Windows 10, Windows Server 2019, serta macOS 10.15 dan yang lebih tinggi.

Sebelum memulai

Ketahui alamat server vCenter Anda.

Ketahui jalur sertifikasi CA Anda.

Instal Google Cloud CLI.

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 mengizinkan gkeadm membuat beberapa akun layanan dan kunci untuk Anda. Dalam hal ini, 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 akan memberi Anda lebih banyak fleksibilitas daripada meminta gkeadm membuatnya untuk Anda:

  • 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 pada project Google Cloud induk dari akun layanan akses komponen Anda. Tidak masalah jika itu adalah satu-satunya project Google Cloud yang dikaitkan dengan cluster Anda. Namun, jika ingin mengaitkan cluster dengan beberapa project Google Cloud, Anda memerlukan fleksibilitas untuk memberikan peran ke akun layanan pada project Google Cloud pilihan Anda.

Jika Anda memutuskan untuk membuat akun layanan sendiri, ikuti petunjuk di Akun dan kunci layanan.

Terlepas dari apakah Anda meminta gkeadm untuk membuat akun layanan secara otomatis, ada satu akun layanan yang harus dibuat secara manual: akun layanan akses komponen. Untuk mengetahui petunjuk cara membuat akun layanan akses komponen dan memberikan peran IAM yang sesuai, lihat Akun layanan akses komponen.

Membuat template untuk file konfigurasi

Download gkeadm ke direktori Anda saat ini.

Membuat template:

./gkeadm create config

Perintah sebelumnya membuat file ini dalam direktori Anda 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 terisi atau membuat perubahan sesuai keinginan Anda.

Kolom yang harus diisi

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", lalu 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"

Masuk

  1. Login dengan Akun Google apa saja. Tindakan ini menetapkan properti account SDK Anda:
gcloud auth login
  1. Pastikan properti account SDK Anda ditetapkan dengan benar:
gcloud config list
  1. Akun Google yang ditetapkan sebagai properti account SDK disebut akun SDK. Alat command line gkeadm 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 dan kunci layanan, serta memberikan peran ke akun layanan. Jadi, penting bagi Anda untuk 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 pada project Google Cloud induk dari akun layanan akses komponen Anda. Hal ini dilakukan agar gkeadm dapat mengaktifkan layanan di project Google Cloud.

  • serviceUsage.serviceUsageAdmin

Jika memilih agar gkeadm otomatis membuat akun layanan untuk Anda, akun SDK juga harus memiliki peran berikut pada project induk akun layanan akses komponen Anda. Hal ini dilakukan agar gkeadm dapat membuat akun layanan dan kunci.

  • resourcemanager.projectIamAdmin
  • iam.serviceAccountCreator
  • iam.serviceAccountKeyAdmin

Untuk memberikan peran pada 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 sendiri peran tersebut. Jika tidak, orang lain di organisasi Anda harus memberikan peran tersebut untuk Anda.

Untuk memberikan peran yang diperlukan ke akun SDK Anda:

Linux dan 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 Anda

  • ACCOUNT: akun SDK Anda

Untuk memberikan peran tambahan jika Anda ingin gkeadm membuat akun layanan secara otomatis"

Linux dan 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 dari akun layanan akses komponen Anda

  • ACCOUNT: akun SDK Anda

Membuat workstation admin

Masukkan perintah ini untuk membuat workstation admin. Jika Anda ingin gkeadm membuat akun layanan untuk Anda, sertakan flag --auto-create-service-accounts. Jika Anda ingin membuat akun layanan sendiri secara manual, hilangkan flag tersebut.

./gkeadm create admin-workstation [--auto-create-service-accounts]

Output tersebut 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, terdapat perintah yang dapat Anda gunakan untuk mendapatkan koneksi SSH ke workstation admin. Masukkan perintah itu sekarang. Contoh:

ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1

Cantumkan file di workstation admin:

ls -1

Dalam output, Anda dapat melihat dua file konfigurasi cluster, file sertifikat CA, dan file kunci JSON untuk akun layanan akses komponen Anda. 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 Anda

Sebelum membuat cluster, file kunci JSON untuk akun layanan Anda harus berada di workstation admin di direktori utama.

Kunci untuk akun layanan akses komponen Anda sudah ada di workstation admin.

Jika Anda menyertakan flag --auto-create-service-accounts saat menjalankan gkeadm create admin-workstation, kunci untuk akun layanan berikut sudah ada di workstation admin di direktori utama. Jika tidak, Anda harus menyalin kunci secara manual ke direktori utama workstation admin:

  • Hubungkan akun layanan
  • Akun layanan pemantauan logging

Jika membuat salah satu akun layanan berikut, Anda harus menyalin kunci untuk akun layanan tersebut secara manual ke direktori utama workstation admin:

  • 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 juga menyimpan file cadangan secara default. Kemudian, jika Anda tidak lagi memiliki workstation admin, atau jika Anda kehilangan beberapa file yang ada di workstation admin yang telah diupgrade, Anda dapat menggunakan file cadangan ini untuk membuat workstation admin yang dipulihkan ke tempatnya segera 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 untuk berfungsi sebagai workstation admin. 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
    • 100 GiB penyimpanan
  • RHEL 8.6, 8.7, atau 8.8

    • 4 inti CPU
    • RAM 12 GB
    • 256 GiB penyimpanan

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 mengetahui informasi tentang berbagai cara untuk terhubung ke Google Cloud, lihat Terhubung ke Google.

Akses ke Google Cloud dapat langsung atau melalui server proxy. Untuk mengetahui 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 Server vCenter Anda. Untuk informasi selengkapnya, lihat:

Menyiapkan server NTP

Jika cluster dikonfigurasi untuk menggunakan server NTP, Anda perlu menyiapkan layanan sinkronisasi waktu di workstation admin untuk memastikan bahwa timedatectl melaporkan waktu yang disinkronkan dengan cluster. Hal ini diperlukan untuk menghindari masalah penyimpangan jam 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

Ini menyediakan dua biner:

  • chronyd - daemon yang akan disinkronkan dan disalurkan melalui Protokol Waktu Jaringan
  • chronyc - antarmuka command line untuk daemon chrony

Untuk mengonfigurasi chronyd:

Edit /etc/chrony/chrony.conf untuk menambahkan atau menghapus baris server. Lalu 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 memungkinkannya, aktifkan sudo tanpa sandi untuk pengguna saat ini. Hal ini memungkinkan gkectl menyiapkan registry pribadi jika disediakan, menyiapkan proxy untuk docker jika jaringan Anda berada di belakang server proxy, dan menghapus otomatis 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:

Jika memilih untuk tidak mengaktifkan sudo tanpa sandi, Anda mungkin perlu menghapus cluster kind secara manual setelah membuat cluster admin. Untuk mengetahui informasi selengkapnya, lihat Cluster Kind tidak dihapus dalam dokumentasi pemecahan masalah.

Instal software

Ubuntu

Instal software berikut:

sudo apt-get update
sudo apt-get -y install kubectl

RHEL

Instal software berikut:

Docker 19.03 atau yang lebih baru

  1. Hapus versi Docker sebelumnya:

    sudo dnf remove docker \
      docker-client \
      docker-client-latest \
      docker-common \
      docker-latest \
      docker-latest-logrotate \
      docker-logrotate \
      docker-engine
    
  2. Menghapus podman-manpages:

    sudo dnf remove podman-manpages
    
  3. 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
    
  4. Pastikan Anda saat ini menjalankan versi 19.03 ke atas:

    sudo docker version
    
  5. 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
    
  6. 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.

Google Cloud CLI versi terbaru:

Baca artikel 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 saja. Tindakan ini 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]

Download gkectl dan paketnya

Buka direktori tempat Anda ingin menginstal gkectl.

Unduh gkectl:

gsutil cp gs://gke-on-prem-release/gkectl/VERSION/gkectl ./
chmod +x gkectl

Ganti VERSION dengan versi GKE di VMware. Contoh: 1.16.0-gke.1.

Download paket GKE di VMware. Pastikan versi cocok dengan yang Anda gunakan untuk mendownload gkectl:

gsutil cp gs://gke-on-prem-release/gke-onprem-bundle/VERSION/gke-onprem-vsphere-VERSION.tgz ./

Langkah selanjutnya

Membuat cluster admin