Login ke project

Halaman ini membahas cara mengakses dan mengelola workload dan resource Anda dalam Google Distributed Cloud (GDC) dengan air gap. Dokumen ini menjelaskan cara melakukan autentikasi, membuat file kubeconfig untuk resource zona dan global, serta mengelola ketidakaktifan sesi. Memahami proses ini akan memastikan akses yang aman dan andal ke project dan workload Anda.

Halaman ini ditujukan untuk 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 dengan air gap.

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, lakukan 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, gambar berikut login ke UI konsol untuk organisasi bernama org-1:

UI konsol yang menampilkan layar sambutan untuk project org-1.

gdcloud

Saat login ke gdcloud CLI, gunakan perintah gdcloud auth login untuk mengautentikasi akun utama ke gdcloud CLI. gdcloud CLI menggunakan akun utama tersebut untuk autentikasi dan otorisasi guna mengelola resource dan layanan Google Cloud .

Sebelum 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 menetapkan URL organisasi yang benar, yang digunakan untuk mengambil endpoint konfigurasi login. Untuk mengetahui informasi selengkapnya, lihat penginstalan gdcloud CLI.
  • Instal kubectl CLI.
  • Instal plugin autentikasi gdcloud-k8s-auth-plugin. Untuk mengetahui informasi selengkapnya, lihat Autentikasi gdcloud CLI.

Untuk login ke server Management API atau cluster Kubernetes, selesaikan langkah-langkah berikut:

  • Server Management API:
  1. 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.

  2. Autentikasi instance gdcloud CLI Anda untuk login. Ada dua cara untuk melakukan autentikasi:

    • Login browser standar: Gunakan alur autentikasi ini saat sedang login dari browser.

      gdcloud auth login
      
    • Login perangkat sekunder: Gunakan alur autentikasi ini jika perangkat utama Anda tidak memiliki browser yang tersedia. 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 API dan cluster di organisasi. Jika variabel KUBECONFIG 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, dan jalankan di mesin dengan akses browser.

  3. Ikuti petunjuk di halaman web untuk menyelesaikan proses login.

    Setelah login berhasil diselesaikan, browser akan menampilkan pesan Autentikasi berhasil. Tutup jendela ini.

  4. Ikuti petunjuk di terminal. Setelah berhasil login, terminal akan menampilkan pesan: Anda sekarang sedang login.

  • Cluster Kubernetes:
  1. Autentikasi instance gdcloud CLI Anda untuk login. Ada dua cara untuk melakukan autentikasi:

    • Login browser standar: Gunakan alur autentikasi ini saat sedang login dari browser.

      gdcloud auth login
      
    • Login perangkat sekunder: Gunakan alur autentikasi ini jika perangkat utama Anda tidak memiliki browser yang tersedia. Alur ini memulai login di perangkat utama tanpa akses browser dan melanjutkan login dengan perangkat sekunder yang memiliki akses browser.

      1. Mulai login di perangkat utama Anda tanpa browser:

        gdcloud auth login --no-browser
        

        Perintah di perangkat utama akan mencetak perintah gdcloud lain yang harus Anda jalankan di perangkat sekunder pada langkah c.

      2. Ulangi langkah 1 untuk mendownload sertifikat di perangkat sekunder.

      3. 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 gdcloud CLI awal untuk login.

  2. Ekspor file kubeconfig identitas pengguna Anda sebagai variabel:

    export KUBECONFIG=/tmp/CLUSTER_NAME-ZONE-kubeconfig-with-user-identity.yaml
    
  3. Buat file kubeconfig untuk cluster zona 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
    
  4. Untuk memverifikasi bahwa Anda dapat mengakses cluster, login dengan file kubeconfig yang dihasilkan 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.

gdcloud

Logout dari CLI:

gdcloud auth revoke

Membuat file kubeconfig secara manual

Jika Anda mengelola resource dengan kubectl CLI dengan memanggil API KRM 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 universe GDC Anda untuk menentukan zona tempat Anda ingin men-deploy resource zona, atau server API global untuk resource global. Untuk mengetahui informasi selengkapnya, lihat Server API global dan zona.

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 Management API Zona

Selesaikan langkah-langkah berikut untuk membuat file kubeconfig untuk server Management API zona:

  1. Lihat semua zona yang tersedia:

    gdcloud zones list
    

    Catat nama zona yang menghosting resource kustom Anda.

  2. Tetapkan variabel lingkungan ZONE ke zona yang menghosting resource zona Anda:

    export ZONE="ZONE"
    

    Ganti ZONE dengan nama zona.

  3. Tetapkan variabel lingkungan MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="ORG_NAME-admin"
    

    Ganti ORG_NAME dengan nama organisasi Anda, seperti org-1.

  4. Buat file kubeconfig server API Management untuk zona yang ditargetkan, dan validasi kredensialnya:

    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 utama. Saat Anda membuat file kubeconfig baru, file tersebut akan menimpa file yang sudah ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, cadangkan file tersebut di lokasi aman lainnya.

Resource cluster Kubernetes zonal

Selesaikan langkah-langkah berikut untuk membuat file kubeconfig untuk cluster Kubernetes zona:

  1. Lihat semua zona yang tersedia:

    gdcloud zones list
    

    Catat nama zona yang menghosting resource kustom Anda.

  2. Tetapkan variabel lingkungan ZONE ke zona yang menghosting cluster Kubernetes Anda:

    export ZONE="ZONE"
    

    Ganti ZONE dengan nama zona.

  3. Tetapkan variabel lingkungan KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
    

    Ganti KUBERNETES_CLUSTER_NAME dengan nama cluster Kubernetes Anda.

  4. Buat file kubeconfig cluster Kubernetes untuk variabel zona yang ditargetkan, dan validasi kredensialnya:

    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 utama. Saat Anda membuat file kubeconfig baru, file tersebut akan menimpa file yang sudah ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, cadangkan file tersebut di lokasi aman lainnya.

Resource server API global

Selesaikan langkah-langkah berikut untuk membuat file kubeconfig untuk server API global:

  1. Tetapkan variabel lingkungan GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. Buat file kubeconfig server API global, dan validasi kredensialnya:

    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 utama. Saat Anda membuat file kubeconfig baru, file tersebut akan menimpa file yang sudah ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, cadangkan file tersebut di lokasi aman lainnya.

Logout karena tidak ada aktivitas sesi

Setelah lima belas menit atau lebih tidak ada aktivitas dalam sesi, konsol GDC dan gdcloud CLI akan mengeluarkan Anda. Distributed Cloud menganggap ketidakaktifan sesi sebagai periode selama sesi terbuka tanpa interaksi aktif dari Anda, seperti tidak ada gerakan kursor atau keyboard. Sesi aktif berlangsung hingga dua belas jam dengan aktivitas pengguna.

Konsol

Untuk ketidakaktifan 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:

UI konsol yang menampilkan dialog dengan timer 99 detik sebelum pengguna di-logout karena tidak aktif.

Setelah logout karena tidak ada aktivitas, Anda akan melihat layar berikut:

UI Konsol menampilkan layar login dengan banner yang berisi teks tentang logout sesi: 'Anda telah logout dari sistem karena sesi Anda tidak aktif terlalu lama. Login lagi atau hubungi administrator Anda untuk mendapatkan bantuan.'

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 membuat Anda logout karena tidak aktif, login kembali untuk mendapatkan akses.

gdcloud

Jika sesi tidak aktif, gdcloud CLI akan mengeluarkan Anda. Setelah gdcloud CLI membuat Anda logout, 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. Agar file kubeconfig Anda tidak diupdate, gunakan flag --skip-kubeconfig-update dalam perintah gdcloud auth login.

kubectl

gdcloud CLI akan mengakhiri masa berlaku file kubeconfig Anda setelah sesi tidak aktif. Jika Anda mencoba menjalankan perintah kubectl setelah tidak aktif, 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.