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 kluster EKS menggunakan Eksctl. Anda dapat membuat cluster dengan perintah CLI, atau dengan membuat file YAMM 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, teruskan --managed=false
ke atau. eksctl create cluster
eksctl create nodegroup
Pertimbangan
-
Saat membuat cluster di
us-east-1
, Anda mungkin menemukan fileUnsupportedAvailabilityZoneException
. Jika ini terjadi, salin zona yang disarankan dan berikan--zones
bendera, misalnya:eksctl create cluster --region=us-east-1 --zones=us-east-1a,us-east-1b,us-east-1d
. Masalah ini dapat terjadi di daerah lain tetapi kurang umum. Dalam kebanyakan kasus, Anda tidak perlu menggunakan--zone
bendera.
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 harus hanya berisi karakter alfanumerik (peka huruf besar/kecil) dan tanda hubung. Itu harus dimulai dengan karakter alfabet dan tidak dapat melebihi 128 karakter, atau Anda akan menerima kesalahan validasi. Untuk informasi selengkapnya, lihat Membuat tumpukan dari CloudFormation konsol di panduan pengguna AWS CLoud Formation.
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 secara ~/.kube/config
default. Path ke file kubeconfig dapat diganti menggunakan flag. --kubeconfig
Bendera lain yang dapat mengubah cara penulisan file kubeconfig:
bendera | jenis | menggunakan | nilai default |
---|---|---|---|
--kubeconfig |
string |
jalur untuk menulis kubeconfig (tidak kompatibel dengan --auto-kubeconfig) |
$KUBECONFIG atau ~/.kube/config |
--set-kubeconfig-context |
bool |
jika true maka konteks saat ini akan disetel di kubeconfig; jika konteks sudah disetel maka itu akan ditimpa |
true |
--auto-kubeconfig |
bool |
simpan file kubeconfig dengan nama cluster |
true |
--write-kubeconfig |
bool |
alihkan penulisan kubeconfig |
true |
Hapus cluster
Untuk menghapus klaster ini, jalankan:
eksctl delete cluster -f cluster.yaml
Awas
Gunakan --wait
tanda dengan operasi penghapusan untuk memastikan kesalahan penghapusan dilaporkan dengan benar.
Tanpa --wait
flag, eksctl hanya akan mengeluarkan operasi penghapusan ke CloudFormation tumpukan cluster dan tidak akan menunggu penghapusannya. Dalam beberapa kasus, sumber daya AWS yang menggunakan cluster atau VPC-nya dapat menyebabkan penghapusan klaster 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 klaster.
Saat menghapus klaster dengan nodegroup, 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 dievictable selama penghapusan. Agar berhasil menghapus klaster dalam skenario ini, gunakan disable-nodegroup-eviction
tanda untuk melewati pemeriksaan kebijakan PDB:
eksctl delete cluster -f cluster.yaml --disable-nodegroup-eviction
Lihat examples/
Lari Kering
Fitur dry-run memungkinkan menghasilkan 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.