Halaman ini membahas cara mengakses dan mengelola workload dan resource Anda dalam Google Distributed Cloud (GDC) dengan air gap. Panduan ini menjelaskan cara melakukan autentikasi, membuat file kubeconfig untuk resource zonal dan global, serta mengelola tidak adanya aktivitas sesi. Memahami proses ini akan memastikan akses yang aman dan andal ke project dan workload Anda.
Halaman ini ditujukan bagi audiens dalam grup administrator platform (seperti admin IT) atau grup operator aplikasi (seperti developer aplikasi) yang ingin menggunakan resource GDC. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi dari internet.
Anda dapat mengakses workload menggunakan konsol GDC, gdcloud CLI, atau kubectl CLI.
Mengautentikasi akun Anda untuk mendapatkan akses
Untuk login ke konsol GDC atau cluster, ikuti langkah-langkah berikut:
Konsol
Buka URL berikut di tab browser baru untuk mengakses antarmuka pengguna (UI) Distributed Cloud:
https://GDC_URL
Ganti GDC_URL
dengan nama domain yang Anda gunakan untuk mengakses Distributed Cloud yang disediakan oleh Operator Infrastruktur (IO). Saat membuka URL apa pun untuk pertama
kalinya, Distributed Cloud akan mengalihkan Anda ke halaman login
penyedia identitas jika Operator Infrastruktur (IO) mengonfigurasi halaman tersebut.
Misalnya, image berikut login ke UI konsol untuk organisasi bernama org-1
:
CLI
Saat login ke gdcloud CLI, gunakan
perintah gdcloud auth login
untuk mengautentikasi principal ke gdcloud CLI. gdcloud CLI menggunakan akun utama tersebut untuk autentikasi dan otorisasi guna mengelola resource dan layanan Google Cloud .
Sebelum Anda login, pastikan Anda melakukan hal berikut:
- Download biner gdcloud CLI dan instal di sistem Anda. Untuk mengetahui informasi selengkapnya, lihat Mendownload gdcloud CLI.
- Siapkan dan lakukan inisialisasi konfigurasi default gdcloud CLI. Pastikan untuk menyetel URL organisasi yang benar, yang digunakan untuk mengambil endpoint konfigurasi login. Untuk mengetahui informasi selengkapnya, lihat penginstalan gdcloud CLI.
- Instal plugin autentikasi
gdcloud-k8s-auth-plugin
. Untuk mengetahui informasi selengkapnya, lihat autentikasi gcloud CLI.
Untuk login ke server Management API atau cluster Kubernetes, selesaikan langkah-langkah berikut:
- Server Management API:
Ekspor jalur tempat Anda ingin menyimpan file kubeconfig server Management API:
export KUBECONFIG=MANAGEMENT_API_SERVER
Ganti MANAGEMENT_API_SERVER dengan jalur ke direktori tempat menyimpan file kubeconfig.
Lakukan autentikasi instance gdcloud CLI Anda untuk login. Ada dua cara untuk melakukan autentikasi:
Login browser standar: Gunakan alur autentikasi ini saat login dari browser.
gdcloud auth login
Login perangkat sekunder: Gunakan alur autentikasi ini jika perangkat utama Anda tidak memiliki browser. Alur ini memulai login di perangkat utama tanpa akses browser dan melanjutkan login dengan perangkat sekunder yang memiliki akses browser.
Mulai login di perangkat utama Anda tanpa browser:
gdcloud auth login --no-browser
Variabel lingkungan
KUBECONFIG
diperbarui dengan file kubeconfig untuk semua server dan cluster API di organisasi. Jika variabelKUBECONFIG
tidak ditetapkan, kubectl CLI akan menggunakan file kubeconfig default yang disimpan di$HOME/.kube/config
.Untuk melewati pengeditan file kubeconfig, tambahkan flag
--skip-kubeconfig-update
ke perintah Anda. Contoh:gdcloud auth login --no-browser --skip-kubeconfig-update
Salin output perintah gdcloud CLI yang dicetak, lalu jalankan di mesin dengan akses browser.
Ikuti petunjuk di halaman web untuk menyelesaikan proses login.
Setelah login berhasil diselesaikan, browser akan menampilkan pesan Authentication successful. Tutup jendela ini.
Ikuti petunjuk di terminal. Setelah berhasil login, terminal akan menampilkan pesan: You are now logged in.
- Cluster Kubernetes:
Lakukan autentikasi instance gdcloud CLI Anda untuk login. Ada dua cara untuk melakukan autentikasi:
Login browser standar: Gunakan alur autentikasi ini saat login dari browser.
gdcloud auth login
Login perangkat sekunder: Gunakan alur autentikasi ini jika perangkat utama Anda tidak memiliki browser. Alur ini memulai login di perangkat utama tanpa akses browser dan melanjutkan login dengan perangkat sekunder yang memiliki akses browser.
Mulai login di perangkat utama Anda tanpa browser:
gdcloud auth login --no-browser
Perintah di perangkat utama mencetak perintah
gdcloud
lain yang harus Anda jalankan di perangkat sekunder pada langkah c.Ulangi langkah 1 untuk mendownload sertifikat di perangkat sekunder.
Selesaikan login di perangkat sekunder dengan memasukkan perintah yang dicetak di perangkat utama pada langkah a.
Tindakan ini akan membuka browser untuk login ke penyedia identitas (IdP) yang dikonfigurasi. Berikan pengguna dan sandi yang Anda tetapkan selama penyiapan awal gdcloud CLI untuk login.
Ekspor file kubeconfig identitas pengguna Anda sebagai variabel:
export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
Buat file kubeconfig dengan identitas pengguna Anda:
gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
Ganti
ZONE
dengan nama zona.File kubeconfig dibuat dengan identitas pengguna Anda. File YAML berikut menunjukkan contoh:
apiVersion: v1 clusters: - cluster: certificate-authority-data: <REDACTED> server: https://10.200.0.32:443 name: cluster-name contexts: - context: cluster: cluster-name user: cluster-name-anthos-default-user name: cluster-name-cluster-name-anthos-default-user current-context: cluster-name-cluster-name-anthos-default-user kind: Config preferences: {} users: - name: cluster-name-anthos-default-user user: exec: apiVersion: client.authentication.k8s.io/v1 args: - --audience=root-admin command: gdcloud-k8s-auth-plugin env: null installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin interactiveMode: Never provideClusterInfo: false
Untuk memverifikasi bahwa Anda dapat mengakses cluster, login dengan file kubeconfig yang dibuat dengan identitas pengguna:
kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
Logout
Untuk logout dari konsol GDC, lakukan hal berikut:
Konsol
Klik
Logout di panel menu.CLI
Logout dari CLI:
gdcloud auth revoke
Membuat file kubeconfig secara manual
Jika Anda mengelola resource dengan kubectl CLI dengan memanggil KRM API secara langsung, Anda harus membuat file kubeconfig untuk cluster atau server API yang menghosting resource Anda, bergantung pada jenis resource yang Anda kelola.
Anda juga harus mengetahui konfigurasi semesta GDC untuk menentukan zona tempat Anda ingin men-deploy resource zonal, atau server API global untuk resource global. Untuk mengetahui informasi selengkapnya, lihat Server API global dan zonal.
Tentukan apakah resource yang Anda manipulasi adalah resource global atau zonal. Buka dokumentasi khusus resource untuk mendapatkan bantuan jika Anda tidak yakin.
Selesaikan penyiapan yang berlaku berdasarkan jenis resource Anda.
Resource server Zonal Management API
Selesaikan langkah-langkah berikut untuk membuat file kubeconfig Anda untuk server API Pengelolaan zonal:
Melihat semua zona yang tersedia:
gdcloud zones list
Catat nama zona yang menghosting resource kustom Anda.
Tetapkan variabel lingkungan
ZONE
ke zona yang menghosting resource zonal Anda:export ZONE="ZONE"
Ganti
ZONE
dengan nama zona.Tetapkan variabel lingkungan
MANAGEMENT_API_SERVER
:export MANAGEMENT_API_SERVER="ORG_NAME-admin"
Ganti
ORG_NAME
dengan nama organisasi Anda, sepertiorg-1
.Buat file kubeconfig server Management API untuk zona target, dan validasi kredensial:
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
Perintah
rm ${KUBECONFIG:?}
menghapus file kubeconfig yang ada di direktori beranda. Saat Anda membuat file kubeconfig baru, file tersebut akan menggantikan file yang ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, buat cadangannya di lokasi aman lain.
Resource cluster Kubernetes zonal
Selesaikan langkah-langkah berikut untuk membuat file kubeconfig Anda untuk cluster Kubernetes zonal:
Melihat semua zona yang tersedia:
gdcloud zones list
Catat nama zona yang menghosting resource kustom Anda.
Tetapkan variabel lingkungan
ZONE
ke zona yang menghosting cluster Kubernetes Anda:export ZONE="ZONE"
Ganti
ZONE
dengan nama zona.Tetapkan variabel lingkungan
KUBERNETES_CLUSTER
:export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
Ganti
KUBERNETES_CLUSTER_NAME
dengan nama cluster Kubernetes Anda.Buat file kubeconfig cluster Kubernetes untuk variabel zona target, dan validasi kredensial:
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
Perintah
rm ${KUBECONFIG:?}
menghapus file kubeconfig yang ada di direktori beranda. Saat Anda membuat file kubeconfig baru, file tersebut akan menggantikan file yang ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, buat cadangannya di lokasi aman lain.
Resource server API global
Selesaikan langkah-langkah berikut untuk membuat file kubeconfig Anda untuk server API global:
Tetapkan variabel lingkungan
GLOBAL_API_SERVER
:export GLOBAL_API_SERVER="global-api"
Buat file kubeconfig server API global, dan validasi kredensial:
export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?} [[ $(kubectl config current-context) == *${GLOBAL_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
Perintah
rm ${KUBECONFIG:?}
menghapus file kubeconfig yang ada di direktori beranda. Saat Anda membuat file kubeconfig baru, file tersebut akan menggantikan file yang ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, buat cadangannya di lokasi aman lain.
Logout karena tidak ada aktivitas sesi
Setelah tidak ada aktivitas selama lima belas menit atau lebih dalam sesi, konsol GDC dan gdcloud CLI akan mengeluarkan Anda. Distributed Cloud menganggap tidak adanya aktivitas sesi sebagai periode selama sesi terbuka tanpa engagement aktif dari Anda, seperti tidak ada pergerakan kursor atau keyboard. Sesi aktif berlangsung hingga dua belas jam dengan aktivitas pengguna.
Konsol
Jika tidak ada aktivitas sesi, konsol GDC akan membuat Anda logout. Dua menit sebelum konsol GDC mengeluarkan Anda karena tidak ada aktivitas, Anda akan menerima dialog yang memperingatkan Anda tentang logout:
Setelah logout karena tidak ada aktivitas, Anda akan melihat layar berikut:
Untuk login kembali ke konsol GDC, pilih penyedia identitas Anda dan tambahkan kredensial login Anda. Jika Anda menggunakan layanan, seperti dasbor pemantauan, dan konsol GDC mengeluarkan Anda karena tidak ada aktivitas, login kembali untuk mendapatkan akses.
gdcloud
Untuk sesi tidak aktif, gdcloud CLI akan membuat Anda logout. Setelah gdcloud CLI mengeluarkan Anda, dan Anda mencoba menjalankan perintah, Anda akan menerima error otorisasi:
Error: error when creating kube client: unable to create k8sclient: Unauthorized
Untuk login kembali ke GDC, ikuti langkah-langkah CLI di Login.
Jika Anda login kembali ke GDC melalui server Management API, file kubeconfig Anda akan otomatis diperbarui. Untuk menghindari pembaruan file kubeconfig, gunakan flag --skip-kubeconfig-update
dalam perintah gdcloud auth login
.
kubectl
gdcloud CLI akan menghentikan masa berlaku file kubeconfig Anda setelah sesi tidak aktif. Jika Anda mencoba menjalankan perintah kubectl
setelah tidak ada aktivitas,
Anda akan menerima error otorisasi:
error: You must be logged in to the server (Unauthorized)
Untuk login kembali dan menggunakan file kubeconfig, ikuti langkah-langkah CLI di bagian Login. Untuk setiap waktu tunggu sesi, Anda harus membuat ulang file kubeconfig.
Memantau aktivitas login dan pengguna baru
Aktivitas seperti login diekspor sebagai log audit. Untuk mengetahui informasi selengkapnya tentang cara melihat log audit, lihat Log audit.