Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat dan mengelola cluster
Topik ini mencakup cara membuat dan menghapus cluster EKS menggunakan Eksctl. Anda dapat membuat cluster dengan perintah CLI, atau dengan membuat file YAML konfigurasi cluster.
Membuat cluster sederhana
Buat cluster sederhana dengan perintah berikut:
eksctl create cluster
Itu akan membuat cluster EKS di wilayah default Anda (seperti yang ditentukan oleh konfigurasi AWS CLI Anda) dengan satu nodegroup terkelola yang berisi dua node m5.large.
eksctl sekarang membuat nodegroup terkelola secara default ketika file konfigurasi tidak digunakan. Untuk membuat nodegroup yang dikelola sendiri, lanjutkan ke atau. --managed=false eksctl create cluster eksctl create nodegroup
Pertimbangan-pertimbangan
-
Saat membuat cluster di
us-east-1, Anda mungkin menemukanUnsupportedAvailabilityZoneException. Jika ini terjadi, salin zona yang disarankan dan berikan--zonesbendera, misalnya:eksctl create cluster --region=us-east-1 --zones=us-east-1a,us-east-1b,us-east-1d. Masalah ini mungkin terjadi di wilayah lain tetapi kurang umum. Dalam kebanyakan kasus, Anda tidak perlu menggunakan ben--zonedera.
Buat cluster menggunakan file konfigurasi
Anda dapat membuat cluster menggunakan file konfigurasi alih-alih flag.
Pertama, buat cluster.yaml file:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: basic-cluster region: eu-north-1 nodeGroups: - name: ng-1 instanceType: m5.large desiredCapacity: 10 volumeSize: 80 ssh: allow: true # will use ~/.ssh/id_rsa.pub as the default ssh key - name: ng-2 instanceType: m5.xlarge desiredCapacity: 2 volumeSize: 100 ssh: publicKeyPath: ~/.ssh/ec2_id_rsa.pub
Selanjutnya, jalankan perintah ini:
eksctl create cluster -f cluster.yaml
Ini akan membuat cluster seperti yang dijelaskan.
Jika Anda perlu menggunakan VPC yang ada, Anda dapat menggunakan file konfigurasi seperti ini:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster-in-existing-vpc region: eu-north-1 vpc: subnets: private: eu-north-1a: { id: subnet-0ff156e0c4a6d300c } eu-north-1b: { id: subnet-0549cdab573695c03 } eu-north-1c: { id: subnet-0426fb4a607393184 } nodeGroups: - name: ng-1-workers labels: { role: workers } instanceType: m5.xlarge desiredCapacity: 10 privateNetworking: true - name: ng-2-builders labels: { role: builders } instanceType: m5.2xlarge desiredCapacity: 2 privateNetworking: true iam: withAddonPolicies: imageBuilder: true
Nama cluster atau nama nodegroup hanya harus berisi karakter alfanumerik (peka huruf besar/kecil) dan tanda hubung. Itu harus dimulai dengan karakter alfabet dan tidak boleh melebihi 128 karakter, atau Anda akan menerima kesalahan validasi. Untuk informasi selengkapnya, lihat Membuat tumpukan dari CloudFormation konsol di panduan CLoudFormation pengguna AWS.
Perbarui kubeconfig untuk cluster baru
Setelah cluster dibuat, konfigurasi kubernetes yang sesuai akan ditambahkan ke file kubeconfig Anda. Ini adalah, file yang telah Anda konfigurasikan dalam variabel lingkungan KUBECONFIG atau ~/.kube/config secara default. Jalur ke file kubeconfig dapat diganti menggunakan flag. --kubeconfig
Bendera lain yang dapat mengubah cara file kubeconfig ditulis:
| bendera | jenis | menggunakan | nilai default |
|---|---|---|---|
|
--gambar kubik |
string |
jalur untuk menulis kubeconfig (tidak kompatibel dengan --auto-kubeconfig) |
$KUBECONFIG atau ~/. kube/config |
|
--set-kubeconfig-konteks |
bool |
jika benar maka current-context akan disetel di kubeconfig; jika konteks sudah disetel maka akan diganti |
true |
|
--auto-kubeconfig |
bool |
simpan file kubeconfig dengan nama cluster |
true |
|
--tulisan-kubeconfig |
bool |
aktifkan penulisan kubeconfig |
true |
Hapus cluster
Untuk menghapus cluster ini, jalankan:
eksctl delete cluster -f cluster.yaml
Awas
Gunakan ben --wait dera dengan operasi hapus untuk memastikan kesalahan penghapusan dilaporkan dengan benar.
Tanpa --wait flag, eksctl hanya akan mengeluarkan operasi hapus ke CloudFormation tumpukan cluster dan tidak akan menunggu penghapusannya. Dalam beberapa kasus, sumber daya AWS yang menggunakan cluster atau VPC-nya dapat menyebabkan penghapusan cluster gagal. Jika penghapusan Anda gagal atau Anda lupa tanda tunggu, Anda mungkin harus pergi ke CloudFormation GUI dan menghapus tumpukan eks dari sana.
Awas
Kebijakan PDB dapat memblokir penghapusan node selama penghapusan cluster.
Saat menghapus cluster dengan nodegroups, kebijakan Pod Disruption Budget (PDB) dapat mencegah node berhasil dihapus. Misalnya, cluster yang aws-ebs-csi-driver diinstal biasanya memiliki dua pod dengan kebijakan PDB yang memungkinkan hanya satu pod yang tidak tersedia pada satu waktu, membuat pod lainnya tidak dapat dihapus selama penghapusan. Agar berhasil menghapus cluster dalam skenario ini, gunakan tanda disable-nodegroup-eviction untuk melewati pemeriksaan kebijakan PDB:
eksctl delete cluster -f cluster.yaml --disable-nodegroup-eviction
Lihat examples/
Lari Kering
Fitur dry-run memungkinkan pembuatan ClusterConfig file yang melewatkan pembuatan cluster dan mengeluarkan ClusterConfig file yang mewakili opsi CLI yang disediakan dan berisi nilai default yang ditetapkan oleh eksctl.
Info lebih lanjut dapat ditemukan di halaman Dry Run.