Buat koneksi antara klien kubectl dan lapisan kontrol instans ASM untuk mengelola sumber daya Istio pada instans tersebut.
Informasi latar belakang
kubectl adalah alat baris perintah untuk kluster Kubernetes. Anda dapat menggunakan klien kubectl untuk mengelola kluster, menginstal serta menerapkan aplikasi berbasis kontainer pada kluster, dan mengelola sumber daya Service Mesh.
Koneksi yang dijelaskan dalam topik ini ditujukan ke lapisan kontrol instans ASM.
Prasyarat
Izin RBAC — Akun Anda diberi role RBAC ASM yang telah ditentukan sebelumnya dan mencakup sumber daya yang ingin Anda kelola. Untuk detailnya, lihat Izin yang diberikan oleh role RBAC yang telah ditentukan sebelumnya.
Akses Internet (hanya tab Akses Internet) — Akses Internet ke server API diaktifkan untuk instans ASM, artinya instans ASM mengekspos server API-nya melalui Elastic IP Address (EIP) Alibaba Cloud. Anda kemudian dapat menggunakan mesin apa pun di Internet sebagai klien.
Prosedur
Instal dan siapkan klien kubectl. Untuk informasi versi Kubernetes, lihat catatan rilis Kubernetes. Untuk petunjuk instalasi, lihat Install and Set Up kubectl.
Konfigurasikan kredensial koneksi instans ASM.
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
Di pojok kanan atas halaman Base Information, klik Connection.
Pada panel Connection, klik tab yang sesuai dengan jaringan klien Anda. Klik tab Internet Access jika klien mengakses instans ASM melalui Internet. Klik tab Internal Access jika klien mengakses instans ASM melalui jaringan internal.
CatatanJika akses Internet ke server API tidak diaktifkan untuk instans ASM, konfigurasi koneksi untuk akses Internet tidak akan ditampilkan pada panel Connection.
Klik Copy Kubeconfig File, lalu salin kontennya ke
$HOME/.kube/configdi komputer lokal Anda—lokasi tempat kubectl menyimpan kredensial. Jika fileconfigbelum ada di direktori$HOME/.kube, buat file tersebut secara manual.
-
Jalankan perintah berikut untuk memeriksa apakah koneksi telah berhasil dibuat.
kubectl get nsJika informasi namespace ditampilkan, koneksi telah berhasil dibuat.
Jika informasi namespace tidak ditampilkan, periksa hal-hal berikut, lalu jalankan kembali perintah tersebut:
Konten kubeconfig yang Anda salin pada langkah 2 telah disimpan ke
$HOME/.kube/configpada klien.Jika klien mengakses instans melalui Internet, pastikan akses Internet ke server API telah diaktifkan untuk instans ASM. Lihat Prasyarat.
Role RBAC akun Anda mencakup sumber daya yang Anda kueri. Lihat Izin yang diberikan oleh role RBAC yang telah ditentukan sebelumnya.
Izin yang diberikan oleh role RBAC yang telah ditentukan sebelumnya
Service Mesh (ASM) memanfaatkan mekanisme Kontrol Akses Berbasis Peran (RBAC) yang disediakan oleh Kubernetes dan menyediakan role RBAC yang telah ditentukan sebelumnya untuk memberikan pengguna cakupan izin akses terhadap sumber daya Service Mesh.
Salah satu role yang telah ditentukan sebelumnya adalah istio-admin, yang memberikan izin berikut:
Namespace pada lapisan kontrol — Create, delete, get, list, patch, update, dan watch.
Sumber daya Istio — Create, delete, get, list, patch, update, dan watch. ClusterRole berikut mencantumkan grup API Istio yang dicakup oleh izin-izin ini.
Sumber daya
istiogatewaysdalam grup APIistio.alibabacloud.com— Create, delete, get, list, patch, update, dan watch. Gunakan sumber daya ini untuk mendefinisikan layanan gateway masuk.Sumber daya lain dalam grup API
istio.alibabacloud.com— Hanya get dan list.
ClusterRole berikut mendefinisikan izin dari role istio-admin yang telah ditentukan sebelumnya. ASM menyediakan ClusterRole ini, sehingga definisi berikut hanya bersifat referensi.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: istio-admin
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- config.istio.io
- networking.istio.io
- authentication.istio.io
- rbac.istio.io
- security.istio.io
resources: ["*"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- istio.alibabacloud.com
resources: ["istiogateways"]
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- istio.alibabacloud.com
resources: ["*"]
verbs:
- get
- list