Membuat workstation admin

Dokumen ini menunjukkan cara membuat workstation admin, untuk Google Distributed Cloud. Workstation admin menghosting command line alat antarmuka (CLI) dan file konfigurasi untuk menyediakan cluster selama penginstalan, dan alat CLI untuk berinteraksi dengan cluster yang disediakan pasca-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 rujuk dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise yang umum.

Petunjuk di sini sudah lengkap. Untuk pengantar yang lebih singkat dalam membuat admin, lihat Membuat Admin workstation 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 mana pun pilihan Anda.

gkeadm

Sebelum memulai

Ketahui alamat server vCenter Anda.

Pahami jalur sertifikat CA Anda.

Instal Google Cloud CLI.

Membuat satu atau beberapa project Google Cloud seperti yang dijelaskan di Menggunakan beberapa project Google Cloud.

Merencanakan akun layanan Anda

Saat menggunakan gkeadm untuk membuat workstation admin, Anda memiliki opsi untuk mengizinkan gkeadm membuat beberapa akun layanan dan kunci untuk Anda. Di sana kasus ini, gkeadm juga memberikan peran Identity and Access Management yang sesuai ke layanan menggunakan akun layanan.

Sebagai alternatif, Anda dapat membuat akun layanan dan kunci secara manual. Dalam hal ini, Anda harus memberikan peran IAM secara manual ke layanan Anda menggunakan akun layanan.

Membuat akun layanan secara manual memberi Anda lebih banyak fleksibilitas daripada gkeadm membuatnya untuk Anda:

  • Semua akun layanan yang dibuat secara otomatis memiliki induk yang sama Project Google Cloud sebagai akun layanan akses komponen Anda. Saat membuat akun layanan secara manual, Anda dapat memilih akun layanan project Google Cloud Anda.

  • Akun layanan yang dibuat secara otomatis akan diberi IAM peran pada project Google Cloud induk layanan akses komponen Anda menggunakan akun layanan. Tidak masalah jika itu adalah satu-satunya project Google Cloud yang terkait dengan cluster Anda. Tetapi jika Anda ingin mengaitkan cluster Anda 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 memiliki gkeadm untuk membuat akun layanan atau tidak untuk Anda secara otomatis, ada satu akun layanan yang harus Anda buat secara manual: komponen mengakses akun layanan. Untuk petunjuk cara membuat ke akun layanan akses komponen Anda dan memberikan akses yang sesuai Peran IAM, lihat Akun layanan akses komponen.

Ada satu akun layanan lain yang mungkin perlu Anda buat secara manual: tujuan akun layanan logging audit. Jika Anda ingin menggunakan API On-Prem GKE untuk mengelola cluster pengguna, maka Anda harus mengaktifkan logging audit di cluster admin Anda.

Membuat template untuk file konfigurasi

Download gkeadm ke direktori Anda saat ini.

Membuat template:

./gkeadm create config

Perintah sebelumnya membuat file ini di 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 default atau nilai yang dihasilkan. Anda dapat menyimpan nilai yang terisi atau membuat perubahan saat Anda lebih disukai.

Kolom yang harus diisi

Lengkapi kolom 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 bagian Kolom proxyURL:

adminWorkstation:
proxyURL: "Fill in"

Jika Anda ingin komputer admin Anda mendapatkan alamat IP dari server DHCP, tetapkan ipAllocationMode ke "dhcp", dan hapus bagian hostconfig:

adminWorkstation:
network:
  ipAllocationMode: "dhcp"

Jika Anda ingin menetapkan alamat IP statis untuk workstation admin Anda, tetapkan ipAllocationMode hingga "static", dan isi 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 pun. Tindakan ini akan 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 Anda disebut akun SDK. Alat command line gkeadm menggunakan SDK Anda untuk mengunduh OVA workstation admin dan mengaktifkan layanan di project Google Cloud Anda.

Jika memilih agar gkeadm secara otomatis membuat akun layanan untuk Anda, gkeadm juga menggunakan akun SDK Anda untuk membuat kunci dan akun layanan, dan untuk memberikan peran ke akun layanan. Jadi, Anda harus menetapkan properti account SDK sebelum menjalankannya 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

Akun SDK Anda harus memiliki hal berikut Peran IAM di 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 secara otomatis membuat akun layanan untuk Anda, akun SDK Anda juga harus memiliki peran berikut di akun induk project akun layanan akses komponen Anda. Ini dimaksudkan 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 Anda. Untuk mengetahui detailnya, lihat Memberikan, mengubah, dan mencabut akses ke resource.

Jika Anda memiliki izin yang diperlukan, Anda dapat memberikan peran tersebut sendiri. Jika tidak, orang lain di organisasi Anda harus memberikan peran tersebut untuk 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 induk Project Google Cloud untuk akun layanan akses komponen Anda

  • ACCOUNT: akun SDK Anda

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

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

  • ACCOUNT: akun SDK Anda

Membuat workstation admin Anda

Masukkan perintah ini untuk membuat workstation admin Anda. Jika Anda ingin gkeadm untuk membuat daftar terhubung dan logging-monitoring akun layanan untuk Anda, termasuk --auto-create-service-accounts. Jika Anda ingin membuat layanan tersebut akun layanan secara manual, hilangkan tanda tersebut.

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

Output memberikan informasi mendetail tentang pembuatan admin Anda workstation:

...
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

Menjelang akhir {i>output<i} sebelumnya, ada perintah yang dapat Anda gunakan untuk mendapatkan koneksi SSH ke workstation admin Anda. Masukkan perintah tersebut sekarang. Contoh:

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

Buat daftar file di workstation admin Anda:

ls -1

Pada output, Anda dapat melihat dua file konfigurasi cluster, yaitu CA file sertifikat, dan file kunci JSON untuk layanan akses komponen Anda menggunakan akun layanan. 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 telah mengaktifkan akun layanan akses komponen Anda di komputer 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 {i>workstation<i} admin Anda di direktori {i>home<i}.

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

Jika Anda menyertakan flag --auto-create-service-accounts saat menjalankan gkeadm create admin-workstation, lalu kunci untuk layanan berikut akun sudah ada di {i> workstation<i} admin Anda di direktori {i>home<i}. Sebaliknya Anda harus menyalin kunci secara manual ke direktori utama workstation admin Anda:

  • Akun layanan Connect-register
  • Akun layanan pemantauan logging

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

  • Akun layanan pengukuran penggunaan
  • Akun layanan logging audit
  • Akun layanan otorisasi biner

Memulihkan workstation admin dari file cadangan

Saat Anda mengupgrade workstation admin, gkeadm upgrade menyimpan file cadangan. Nanti, jika Anda tidak lagi memiliki admin atau jika Anda kehilangan beberapa file yang ada di upgrade Anda dapat menggunakan file cadangan ini untuk membuat {i>workstation<i} admin yang dikembalikan ke kondisi sebelumnya 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 digunakan sebagai workstation admin Anda. Anda dapat menggunakan Ubuntu atau Red Hat Enterprise Linux (RHEL). Berikut 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 banyak lagi.

Untuk mengetahui informasi tentang berbagai cara untuk terhubung ke Google Cloud, lihat Terhubung ke Google.

Akses ke Google Cloud dapat berupa akses langsung atau melalui server proxy. Untuk informasi tentang aturan firewall dan 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 dari Server vCenter Anda. Untuk informasi, lihat:

Menyiapkan server NTP

Ketika cluster Anda dikonfigurasi untuk menggunakan server NTP, Anda perlu menyiapkan sinkronisasi waktu di workstation admin Anda untuk memastikan bahwa timedatectl melaporkan waktu yang sinkron dengan cluster. Hal ini diperlukan untuk menghindari masalah penyimpangan jam, yang dapat menyebabkan kegagalan verifikasi sertifikat karena hingga tanggal habis masa berlaku yang tak tertandingi.

Ubuntu

Kami menyarankan Anda menggunakan server waktu chrony.

Untuk menginstal chrony:

sudo apt-get update
sudo apt install chrony

Fungsi ini menyediakan dua biner:

  • chronyd - daemon untuk 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

Kami menyarankan Anda menggunakan server waktu chrony.

Untuk petunjuk penginstalan, lihat Cara mengonfigurasi chrony.

sudo tanpa sandi

Jika kebijakan keamanan Anda memungkinkan, aktifkan sudo tanpa sandi untuk pengguna saat ini. Hal ini memungkinkan gkectl menyiapkan registry pribadi jika ada disediakan, siapkan proxy untuk Docker jika jaringan Anda berada di belakang server proxy, dan menghapus paksa cluster bootstrap yang digunakan untuk siklus proses cluster admin jika penghapusan gagal.

Jika Anda memilih untuk tidak mengaktifkan {i> sudo <i}tanpa {i>password<i}, dan Anda ingin menggunakan registry pribadi untuk cluster admin Anda, lalu lakukan konfigurasi manual berikut sebelum membuat cluster admin:

Jika Anda memilih untuk tidak mengaktifkan {i> sudo <i}tanpa {i>password<i}, Anda mungkin perlu menghapus cluster kind setelah Anda membuat cluster admin. Untuk selengkapnya informasi, lihat Cluster jenis tidak dihapus di 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. Hapus 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 sekarang menjalankan versi 19.03+:

    sudo docker version
    
  5. Bandingkan {i>output<i} Anda dengan contoh berikut untuk memastikan Klien dan Versi 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 bagian Menginstal gcloud CLI.

kubectl

Jalankan gcloud components install kubectl.

Login

Akun Google yang disetel sebagai Properti account SDK disebut akun SDK. Alat command line gkectl menggunakan SDK Anda untuk mendownload OVA node cluster, mengambil image container, dan lainnya. Jadi, Anda harus menetapkan properti akun SDK sebelum menjalankan gkectl perintah.

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]

Download gkectl dan paketnya

Buka direktori tempat Anda ingin menginstal gkectl.

Unduh 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 versi sesuai dengan 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 JSON yang diperlukan berikut file kunci:

Pastikan juga Anda telah membuat akun layanan opsional dan JSON file penting yang Anda perlukan:

Tempatkan semua file kunci JSON di direktori beranda admin Anda Infrastruktur Cloud.

Pemecahan masalah

Bagian berikut akan mengaktifkan kembali akses SSH ke workstation admin di saat kunci SSH hilang atau rusak.

Pemulihan kunci SSH

Gunakan VM sementara untuk melakukan langkah-langkah berikut:

  1. Untuk membuat kumpulan kunci SSH yang baru, ikuti petunjuk di Membuat SSH kunci di metode dokumentasi Compute Engine.

  2. Pastikan VM sementara dan workstation admin berada dalam status Powered Off.

  3. Dalam vSphere, pasang {i>boot disk<i} dari workstation admin ke untuk VM sementara.

    Boot disk memiliki label Hard disk 1.

  4. Pasang boot disk 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 boot disk Anda, yang harus memiliki format yang mirip dengan dev/sdc1.

  5. Edit file authorized_keys di boot disk untuk menambahkan isi file public key yang dihasilkan pada langkah pertama:

    vi /mnt/boot-disk/.ssh/authorized_keys
    
  6. Matikan VM sementara.

  7. Nyalakan workstation admin.

  8. 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 agar dapat terus mengakses admin Anda Infrastruktur Cloud.

Langkah selanjutnya

Membuat cluster admin