-
Notifications
You must be signed in to change notification settings - Fork 14.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add ID translation for configure access multiple clusters page
Apply suggestions from review Co-authored-by: Giri Kuncoro <girikuncoro@users.noreply.github.com> Add missing translation
- Loading branch information
1 parent
1ddf6c9
commit 61f0741
Showing
1 changed file
with
378 additions
and
0 deletions.
There are no files selected for viewing
378 changes: 378 additions & 0 deletions
378
.../id/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,378 @@ | ||
--- | ||
title: Mengkonfigurasi Akses ke Banyak Klaster | ||
content_template: templates/task | ||
weight: 30 | ||
card: | ||
name: tasks | ||
weight: 40 | ||
--- | ||
|
||
|
||
{{% capture overview %}} | ||
|
||
Halaman ini menunjukkan bagaimana mengkonfigurasi akses ke banyak klaster dengan menggunakan | ||
berkas (_file_) konfigurasi. Setelah semua klaster, pengguna, dan konteks didefinisikan di | ||
satu atau lebih berkas konfigurasi, kamu akan dengan cepat berpindah antar klaster dengan menggunakan | ||
perintah `kubectl config use-context`. | ||
|
||
{{< note >}} | ||
Berkas yang digunakan untuk mengkonfigurasi akses ke sebuah klaster terkadang disebut | ||
berkas *kubeconfig*. Ini adalah cara umum untuk merujuk ke berkas konfigurasi. | ||
Itu tidak berarti bahwa selalu ada berkas bernama `kubeconfig`. | ||
{{< /note >}} | ||
|
||
{{% /capture %}} | ||
|
||
{{% capture prerequisites %}} | ||
|
||
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} | ||
|
||
{{% /capture %}} | ||
|
||
{{% capture steps %}} | ||
|
||
## Mendefinisikan klaster, pengguna, dan konteks | ||
|
||
Misalkan kamu memiliki dua klaster, satu untuk pekerjaan pengembangan dan satu untuk pekerjaan eksperimen (_scratch_). | ||
Di klaster `pengembangan`, pengembang _frontend_ kamu bekerja di sebuah Namespace bernama `frontend`, | ||
dan pengembang penyimpanan kamu bekerja di sebuah Namespace bernama `storage`. Di klaster `scratch` kamu, | ||
pengembang bekerja di Namespace `default`, atau mereka membuat Namespace tambahan sesuai keinginan mereka. | ||
Akses ke klaster `development` membutuhkan autentikasi dengan sertifikat. | ||
Akses ke klaster `scratch` membutuhkan autentikasi dengan nama pengguna dan kata sandi. | ||
|
||
Buat sebuah direktori bernama `config-exercise`. Di direktori `config-exercise` kamu, | ||
buat sebuah berkas bernama `config-demo` dengan konten ini: | ||
|
||
```shell | ||
apiVersion: v1 | ||
kind: Config | ||
preferences: {} | ||
|
||
clusters: | ||
- cluster: | ||
name: development | ||
- cluster: | ||
name: scratch | ||
|
||
users: | ||
- name: developer | ||
- name: experimenter | ||
|
||
contexts: | ||
- context: | ||
name: dev-frontend | ||
- context: | ||
name: dev-storage | ||
- context: | ||
name: exp-scratch | ||
``` | ||
|
||
Berkas konfigurasi di atas mendeskripsikan semua klaster, pengguna, dan konteks. | ||
Berkas `config-demo` kamu memiliki kerangka kerja untuk mendeskripsikan dua klaster, dua pengguna, dan tiga konteks. | ||
|
||
Buka direktori `config-exercise` kamu. Masukkan perintah-perintah berikut untuk menambahkan detail ke | ||
berkas konfigurasi kamu: | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo set-cluster development --server=https://1.2.3.4 --certificate-authority=fake-ca-file | ||
kubectl config --kubeconfig=config-demo set-cluster scratch --server=https://5.6.7.8 --insecure-skip-tls-verify | ||
``` | ||
|
||
Tambahkan detail pengguna ke berkas konfigurasi kamu: | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefile | ||
kubectl config --kubeconfig=config-demo set-credentials experimenter --username=exp --password=some-password | ||
``` | ||
|
||
{{< note >}} | ||
- Untuk menghapus sebuah pengguna, kamu dapat menjalankan perintah `kubectl --kubeconfig=config-demo config unset users.<name>` | ||
- Untuk menghapus sebuah klaster, kamu dapat menjalankan perintah `kubectl --kubeconfig=config-demo config unset clusters.<name>` | ||
- Untuk menghapus sebuah konteks, kamu dapat menjalankan perintah `kubectl --kubeconfig=config-demo config unset contexts.<name>` | ||
{{< /note >}} | ||
|
||
Tambahkan detail konteks ke berkas konfigurasi kamu: | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo set-context dev-frontend --cluster=development --namespace=frontend --user=developer | ||
kubectl config --kubeconfig=config-demo set-context dev-storage --cluster=development --namespace=storage --user=developer | ||
kubectl config --kubeconfig=config-demo set-context exp-scratch --cluster=scratch --namespace=default --user=experimenter | ||
``` | ||
|
||
Buka berkas `config-demo` kamu untuk melihat detail-detail yang telah ditambah. Sebagai alternatif dari membuka | ||
berkas `config-demo`, kamu bisa menggunakan perintah `config view`. | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo view | ||
``` | ||
|
||
Keluaran akan menampilkan dua klaster, dua pengguna, dan tiga konteks: | ||
|
||
```shell | ||
apiVersion: v1 | ||
clusters: | ||
- cluster: | ||
certificate-authority: fake-ca-file | ||
server: https://1.2.3.4 | ||
name: development | ||
- cluster: | ||
insecure-skip-tls-verify: true | ||
server: https://5.6.7.8 | ||
name: scratch | ||
contexts: | ||
- context: | ||
cluster: development | ||
namespace: frontend | ||
user: developer | ||
name: dev-frontend | ||
- context: | ||
cluster: development | ||
namespace: storage | ||
user: developer | ||
name: dev-storage | ||
- context: | ||
cluster: scratch | ||
namespace: default | ||
user: experimenter | ||
name: exp-scratch | ||
current-context: "" | ||
kind: Config | ||
preferences: {} | ||
users: | ||
- name: developer | ||
user: | ||
client-certificate: fake-cert-file | ||
client-key: fake-key-file | ||
- name: experimenter | ||
user: | ||
password: some-password | ||
username: exp | ||
``` | ||
|
||
`fake-ca-file`, `fake-cert-file`, dan `fake-key-file` di atas adalah _placeholder_ | ||
untuk nama jalur (_pathname_) dari berkas-berkas sertifikat. Kamu harus menggantinya menjadi nama jalur | ||
sebenarnya dari berkas-berkas sertifikat di dalam lingkungan (_environment_) kamu. | ||
|
||
Terkadang kamu mungkin ingin menggunakan data yang disandikan Base64 yang langsung dimasukkan di berkas konfigurasi | ||
daripada menggunakan berkas sertifikat yang terpisah. Dalam kasus ini, kamu perlu menambahkan akhiran `-data` ke kunci. Contoh, `certificate-authority-data`, `client-certificate-data`, dan `client-key-data`. | ||
|
||
Setiap konteks memiliki tiga bagian: klaster, pengguna, dan Namespace. | ||
Sebagai contoh, konteks `dev-frontend` menyatakan, "Gunakan kredensial dari pengguna `developer` | ||
untuk mengakses Namespace `frontend` di klaster `development`. | ||
|
||
Mengatur konteks yang digunakan: | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo use-context dev-frontend | ||
``` | ||
|
||
Sekarang kapanpun kamu memasukkan perintah `kubectl`, aksi tersebut akan diterapkan untuk klaster, | ||
dan Namespace yang terdaftar pada konteks `dev-frontend`. Dan perintah tersebut akan menggunakan | ||
kredensial dari pengguna yang terdaftar pada konteks `dev-frontend`. | ||
|
||
Untuk melihat hanya informasi konfigurasi yang berkaitan dengan konteks saat ini, | ||
gunakan `--minify` flag. | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo view --minify | ||
``` | ||
|
||
Output menunjukkan informasi konfigurasi yang berkaitan dengan konteks `dev-frontend`: | ||
|
||
```shell | ||
apiVersion: v1 | ||
clusters: | ||
- cluster: | ||
certificate-authority: fake-ca-file | ||
server: https://1.2.3.4 | ||
name: development | ||
contexts: | ||
- context: | ||
cluster: development | ||
namespace: frontend | ||
user: developer | ||
name: dev-frontend | ||
current-context: dev-frontend | ||
kind: Config | ||
preferences: {} | ||
users: | ||
- name: developer | ||
user: | ||
client-certificate: fake-cert-file | ||
client-key: fake-key-file | ||
``` | ||
|
||
Sekarang apabila kamu ingin bekerja sebentar di klaster eksperimen. | ||
|
||
Ubah konteks saat ini menjadi `exp-scratch`: | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo use-context exp-scratch | ||
``` | ||
|
||
Sekarang, setiap perintah `kubectl` yang diberikan akan berlaku untuk Namespace `default` | ||
dari klaster `scratch`. Dan perintah akan menggunakan kredensial dari pengguna yang | ||
terdaftar di konteks `exp-scratch`. | ||
|
||
Untuk melihat konfigurasi yang berkaitan dengan konteks saat ini, `exp-scratch`. | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo view --minify | ||
``` | ||
|
||
Akhirnya, misalkan kamu ingin bekerja sebentar di Namespace `storage` pada | ||
klaster `development`. | ||
|
||
Ubah konteks saat ini menjadi `dev-storage`: | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo use-context dev-storage | ||
``` | ||
|
||
Untuk melihat konfigurasi yang berkaitan dengan konteks baru saat ini, `dev-storage`. | ||
|
||
```shell | ||
kubectl config --kubeconfig=config-demo view --minify | ||
``` | ||
|
||
## Membuat sebuah berkas konfigurasi kedua | ||
|
||
Di direktori `config-exercise` kamu, buat sebuah berkas bernama `config-demo-2` dengan konten ini: | ||
|
||
```shell | ||
apiVersion: v1 | ||
kind: Config | ||
preferences: {} | ||
|
||
contexts: | ||
- context: | ||
cluster: development | ||
namespace: ramp | ||
user: developer | ||
name: dev-ramp-up | ||
``` | ||
|
||
Berkas konfigurasi di atas mendefinisikan sebuah konteks baru bernama `dev-ramp-up`. | ||
|
||
## Mengatur variabel lingkungan KUBECONFIG | ||
|
||
Lihat apakah kamu sudah memiliki sebuah variabel lingkungan bernama `KUBECONFIG`. | ||
Jika iya, simpan nilai saat ini dari variabel lingkungan `KUBECONFIG` kamu, sehingga kamu dapat mengembalikannya nanti. | ||
Sebagai contohL | ||
|
||
### Linux | ||
```shell | ||
export KUBECONFIG_SAVED=$KUBECONFIG | ||
``` | ||
### Windows PowerShell | ||
```shell | ||
$Env:KUBECONFIG_SAVED=$ENV:KUBECONFIG | ||
``` | ||
Variabel lingkungan `KUBECONFIG` adalah sebuah daftar dari jalur-jalur (beragam _path_) menuju berkas konfigurasi. | ||
Daftar ini dibatasi oleh tanda titik dua untuk Linux dan Mac, dan tanda titik koma untuk Windows. Jika kamu | ||
memiliki sebuah variabel lingkungan `KUBECONFIG`, biasakan diri kamu dengan berkas-berkas konfigurasi | ||
yang ada pada daftar. | ||
|
||
Tambahkan sementara dua jalur ke variabel lingkungan `KUBECONFIG` kamu. Sebagai contoh: | ||
|
||
### Linux | ||
```shell | ||
export KUBECONFIG=$KUBECONFIG:config-demo:config-demo-2 | ||
``` | ||
### Windows PowerShell | ||
```shell | ||
$Env:KUBECONFIG=("config-demo;config-demo-2") | ||
``` | ||
|
||
Di direktori `config-exercise` kamu, masukan perintah ini: | ||
|
||
```shell | ||
kubectl config view | ||
``` | ||
|
||
Keluaran menunjukkan informasi gabungan dari semua berkas yang terdaftar dalam variabel lingkungan `KUBECONFIG` kamu. | ||
Secara khusus, perhatikan bahwa informasi gabungan tersebut memiliki konteks `dev-ramp-up`, konteks dari berkas | ||
`config-demo-2`, dan tiga konteks dari berkas `config-demo`: | ||
|
||
```shell | ||
contexts: | ||
- context: | ||
cluster: development | ||
namespace: frontend | ||
user: developer | ||
name: dev-frontend | ||
- context: | ||
cluster: development | ||
namespace: ramp | ||
user: developer | ||
name: dev-ramp-up | ||
- context: | ||
cluster: development | ||
namespace: storage | ||
user: developer | ||
name: dev-storage | ||
- context: | ||
cluster: scratch | ||
namespace: default | ||
user: experimenter | ||
name: exp-scratch | ||
``` | ||
|
||
Untuk informasi lebih tentang bagaimana berkas Kubeconfig tergabung, lihat | ||
[Mengatur Akses Cluster Menggunakan Berkas Kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) | ||
|
||
## Jelajahi direktori $HOME/.kube | ||
|
||
Jika kamu sudah memiliki sebuah klaster, dan kamu bisa menggunakan `kubectl` untuk berinteraksi dengan | ||
klaster kamu, kemudian kamu mungkin memiliki sebuah berkas bernama `config` di | ||
direktori `$HOME/.kube`. | ||
|
||
Buka `$HOME/.kube`, dan lihat berkas-berkas apa saja yang ada. Biasanya ada berkas bernama | ||
`config`. Mungkin juga ada berkas-berkas konfigurasi lain di direktori ini. | ||
Biasakan diri anda dengan konten-konten yang ada di berkas-berkas tersebut. | ||
|
||
## Tambahkan $HOME/.kube/config ke variabel lingkungan KUBECONFIG kamu | ||
|
||
Jika kamu memiliki sebuah berkas `$HOME/.kube/config`, dan belum terdaftar dalam variabel lingungan | ||
`KUBECONFIG` kamu, tambahkan berkas tersebut ke variabel lingkungan `KUBECONFIG` kamu sekarang. | ||
Sebagai contoh: | ||
|
||
### Linux | ||
```shell | ||
export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config | ||
``` | ||
### Windows Powershell | ||
```shell | ||
$Env:KUBECONFIG=($Env:KUBECONFIG;$HOME/.kube/config) | ||
``` | ||
|
||
Lihat gabungan informasi konfigurasi dari semua berkas yang sekarang tergabung | ||
dalam variabel lingkungan `KUBECONFIG` kamu. Di direktori `config-exercise` kamu, masukkan perintah: | ||
|
||
```shell | ||
kubectl config view | ||
``` | ||
|
||
## Membersihkan | ||
|
||
Kembalikan variabel lingkungan `KUBECONFIG` kamu ke nilai asilnya. Sebagai contoh:<br> | ||
|
||
### Linux | ||
```shell | ||
export KUBECONFIG=$KUBECONFIG_SAVED | ||
``` | ||
### Windows PowerShell | ||
```shell | ||
$Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED | ||
``` | ||
|
||
{{% /capture %}} | ||
|
||
{{% capture whatsnext %}} | ||
|
||
* [Mengatur Akses Cluster Menggunakan Berkas Kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/) | ||
* [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config) | ||
|
||
{{% /capture %}} | ||
|
||
|