Di Google Distributed Cloud (GDC) dengan air gap, ada batasan yang mencegah pengguna melampaui kebijakan retensi maksimum yang ditetapkan GDCHRestrictAttributeRange. Batasan ini diterapkan pada CR Bucket di Cluster Admin Org oleh Pengontrol Kebijakan Anthos Config Management. Artinya, hanya akun layanan sistem, pengguna sistem, dan pengguna dalam grup system:masters yang dapat menghapus finalizer secara default. Prosedur yang diuraikan mencakup cara meningkatkan batas kebijakan retensi pada CR Bucket.
Prasyarat
- Alat: CLI kubectl
- Akses yang diperlukan: Buat file KUBECONFIG untuk cluster
- Akses yang diperlukan: Dapatkan Peran
Policy Admindi cluster
Buat file KUBECONFIG untuk cluster
Perintah Kubectl memerlukan file KUBECONFIG yang valid agar dapat berfungsi. Proses ini memberikan petunjuk langkah demi langkah untuk membuat file KUBECONFIG bagi admin root, admin org, sistem org, dan cluster pengguna.
Prasyarat
Sebelum melanjutkan, pastikan Anda memiliki hal berikut:
gdcloudtelah diinstal.CLI
kubectltelah diinstal.Sertifikat yang ditandatangani oleh Certificate Authority (CA) yang diinstal di workstation.
Nama Organisasi.
URL Root (GDC). Admin IT OC harus memberi Anda URL root.
Menetapkan variabel lingkungan yang diperlukan
Ikuti petunjuk di bagian ini untuk membuat file KUBECONFIG
untuk org-admin, system, atau cluster pengguna mana pun.
Jalankan perintah berikut untuk menentukan variabel lingkungan
ORGuntuk digunakan nanti di terminal saat ini.ORGadalah nama organisasi Anda.export ORG=Jalankan perintah berikut untuk menentukan variabel lingkungan
CONSOLE_URLuntuk digunakan nanti di terminal saat ini:export CONSOLE_URL=https://console.${ORG:?}.$GDC_URL/ gdcloud config set core/organization_console_url ${CONSOLE_URL:?}Ganti
GDC_URLdengan URL dasar untuk project GDC Anda.
Login ke Cluster
Jalankan perintah berikut untuk login:
gdcloud auth login --no-browserSalin perintah gdcloud yang dicetak, dan jalankan di mesin dengan akses browser.
Salin URL yang dicetak dan tempelkan ke kolom URL browser web.
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.
Buat file KUBECONFIG
Jalankan perintah berikut untuk menentukan variabel lingkungan
CLUSTERuntuk digunakan nanti di terminal saat ini.CLUSTERadalah nama cluster yang diinginkan.export CLUSTER=Lihat tabel berikut untuk mendapatkan nama cluster dengan mengganti ORGANIZATION-NAME dan CLUSTER-NAME dengan nilai yang sesuai:
Cluster Nama Cluster admin root admin-root admin org ORGANIZATION-NAME-admin sistem org Sistem ORGANIZATION-NAME pengguna CLUSTER-NAME Anda akan melihat bahwa setiap nama mewakili hal berikut:
- Nama cluster admin root adalah
root-admin. - Nama cluster sistem org dan admin org untuk organisasi bernama
amiramasing-masing adalahamira-admindanamira-system. - Nama cluster untuk cluster pengguna adalah nama clusternya.
- Nama cluster admin root adalah
Jalankan perintah berikut untuk membuat file KUBECONFIG dan memvalidasi kredensial:
sh export KUBECONFIG=${HOME}/${CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${CLUSTER:?} [[ $(kubectl config current-context) == *${CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"Perintah akan menampilkan output berikut:Success. Your kubeconfig is at /usr/local/google/home/iris/kubeconfig-amira-admin.yaml
Mendapatkan Peran Admin Kebijakan di cluster
Proses ini membantu Anda mendapatkan akses yang ditingkatkan sementara ke cluster.
Prasyarat
Sebelum melanjutkan, pastikan Anda memiliki hal berikut:
- IO lain untuk bertindak sebagai Pemberi Persetujuan Permintaan GitLab. IO harus memiliki izin untuk menyetujui permintaan GitLab.
- Nama cluster yang aksesnya Anda butuhkan. Misalnya:
root-admin,org-1-admin. - Jenis peran yang ingin Anda ambil. Misalnya:
RoleClusterRole,ProjectRole, atauOrganizationRole. - Peran yang ingin Anda ambil.
- Namespace akses yang diperlukan. Tidak diperlukan untuk
ClusterRoledanOrganizationRole. - Akses ke workstation IT OC.
- Kredensial untuk GitLab.
Jalankan elevated-access-script
Dari direktori
private-cloud/operations/tools/di workstation Anda, jalankan skripelevated-access-script.sh.Jawab pertanyaan "Please enter the GDCH_URL of the cluster..." dengan
$GDCH_URL.Jawab pertanyaan "Enter Gitlab username:" dengan nama pengguna yang Anda gunakan untuk login ke Gitlab.
Untuk pertanyaan "Enter Gitlab personal access token:", masukkan Personal Access Token akun Anda. Untuk membuat Token Akses Pribadi, ikuti petunjuk berikut:
Buka
https://gitlab.$GDCH_URL/gdch/iac. Login ke akun IO Gitlab Anda.Pilih avatar Anda.
Pilih Edit profil.
Di menu navigasi, pilih Token Akses.
Masukkan nama dan tanggal habis masa berlaku untuk token.
Pilih cakupan yang diinginkan.
Pilih Buat token akses pribadi.
Skrip kini akan meng-clone repositori
iacke direktori lokal Anda.Jawab pertanyaan "Masukkan awalan IdP Anda".
IdP Prefixadalah prefiks khusus untuk setiap Penyedia Identitas yang ditambahkan sebelum setiap nama pengguna dalam cluster GDC. Awalan ini dapat ditemukan dengan:- berkonsultasi dengan Watch Commander Anda
- mengambil petunjuk dari Penyiapan GDC, khususnya bagian "Identity and access management" dalam Panduan Pengguna Operator.
Bentuk awalan yang biasa adalah sekumpulan kata yang diikuti dengan pembatas, yaitu
gdch-infra-operator-.Jawab pertanyaan "Masukkan nama pengguna Anda" dengan nama pengguna yang Anda gunakan untuk login ke Penyedia Identitas Anda.
Jawab pertanyaan "Masukkan cluster yang Anda butuhkan perannya" dengan nama Cluster yang Anda butuhkan perannya.
Skrip akan meminta Anda memilih jenis peran Kubernetes. Ketik jenis peran yang Anda minta.
Jawab pertanyaan "Masukkan peran yang perlu Anda ambil alih" dengan nama peran.
Masukkan durasi akses peran. Durasi akses yang direkomendasikan adalah 3 jam.
Skrip akan menghasilkan tiga file YAML.
./iac/infrastructure/zonal/zones/ZONE_NAME/${CLUSTER}/kustomization.yaml./iac/infrastructure/zonal/zones/ZONE_NAME/${CLUSTER}/${USER}-bindings/kustomization.yaml./iac/infrastructure/zonal/zones/ZONE_NAME/${CLUSTER}/${USER}-bindings/${ROLE}-binding.yaml
Konfirmasi bahwa setiap file sudah benar dengan menekan
Y, atau tekanNuntuk mengedit file divim.Setelah mengonfirmasi semua file, skrip akan mengirimkan file ini ke cabang
elevated_accessdi GitLab dan membuat permintaan penggabungan.
Meninjau dan menyetujui permintaan akses yang ditingkatkan
Daftar berikut menentukan tindakan yang dilakukan untuk permintaan akses yang ditingkatkan untuk peninjauan dan persetujuan:
- IO lain meninjau permintaan GitLab termasuk file konfigurasi kebijakan untuk menyetujui permintaan dengan tepat.
- Setelah IO menyetujui permintaan, sistem akan memberikan akses selama jangka waktu yang diminta.
- Sistem mencabut akses setelah waktu habis masa berlaku yang ditetapkan.
Batasan patch
Setelah mendapatkan akses yang diperlukan, jalankan perintah berikut untuk menetapkan nilai maksimum Kebijakan retensi bucket yang baru. Contoh ini menunjukkan maksimum baru 120 hari, tetapi pastikan untuk memperbarui perintah ke nilai yang diminta oleh Administrator Platform (PA) Anda:
kubectl patch GDCHRestrictAttributeRange restrict-bucket-retention-policy -p '{"spec":{"parameters":{"attributeMaxValue":120}}}' --type=merge
Outputnya akan terlihat seperti berikut ini:
gdchrestrictattributerange.constraints.gatekeeper.sh/restrict-bucket-retention-policy patched