Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasi VPC
VPC Khusus untuk Cluster
Secara default eksctl create cluster akan membuat VPC khusus untuk cluster. Ini dilakukan untuk menghindari gangguan dengan sumber daya yang ada karena berbagai alasan, termasuk keamanan, tetapi juga karena sulit untuk mendeteksi semua pengaturan di VPC yang ada.
-
Default VPC CIDR yang digunakan oleh adalah.
eksctl192.168.0.0/16-
Ini dibagi menjadi 8 (
/19) subnet (3 pribadi, 3 publik & 2 cadangan).
-
-
Nodegroup awal dibuat di subnet publik.
-
Akses SSH dinonaktifkan kecuali
--allow-sshditentukan. -
Nodegroup secara default memungkinkan lalu lintas masuk dari grup keamanan pesawat kontrol pada port 1025 - 65535.
catatan
Di us-east-1 eksctl hanya membuat 2 subnet publik dan 2 pribadi secara default.
Ubah VPC CIDR
Jika Anda perlu mengatur peering dengan VPC lain, atau hanya membutuhkan rentang IPs yang lebih besar atau lebih kecil, Anda dapat --vpc-cidr menggunakan flag untuk mengubahnya. Silakan merujuk ke dokumen AWS untuk panduan tentang memilih blok CIDR yang diizinkan untuk digunakan dalam AWS VPC.
Jika Anda membuat IPv6 cluster, Anda dapat mengonfigurasi VPC.IPv6Cidr dalam file konfigurasi cluser. Pengaturan ini hanya ada di file konfigurasi, bukan di flag CLI.
Jika Anda memiliki blok alamat IPv6 IP, Anda juga dapat membawa IPv6 kolam Anda sendiri. Lihat Membawa alamat IP Anda sendiri (BYOIP) ke Amazon EC2 tentang cara mengimpor kumpulan Anda sendiri. Kemudian gunakan file konfigurasi VPC.IPv6Cidr in the cluser untuk mengkonfigurasi Eksctl.
Gunakan VPC yang ada: dibagikan dengan kops
Anda dapat menggunakan VPC dari klaster Kubernetes yang sudah ada yang dikelola oleh kops.
Jika sebelumnya Anda telah membuat cluster dengan kops, misalnya menggunakan perintah yang mirip dengan ini:
export KOPS_STATE_STORE=s3://kops kops create cluster cluster-1.k8s.local --zones=us-west-2c,us-west-2b,us-west-2a --networking=weave --yes
Anda dapat membuat cluster EKS dalam hal yang sama AZs menggunakan subnet VPC yang sama (CATATAN: setidaknya 2 AZs/subnets diperlukan):
eksctl create cluster --name=cluster-2 --region=us-west-2 --vpc-from-kops-cluster=cluster-1.k8s.local
Gunakan VPC yang ada: konfigurasi khusus lainnya
eksctlmenyediakan beberapa, tetapi tidak lengkap, fleksibilitas untuk VPC kustom dan topologi subnet.
Anda dapat menggunakan VPC yang ada dengan memasok subnet and/or publik pribadi menggunakan dan flag. --vpc-private-subnets --vpc-public-subnets Terserah Anda untuk memastikan subnet yang Anda gunakan dikategorikan dengan benar, karena tidak ada cara sederhana untuk memverifikasi apakah subnet benar-benar pribadi atau publik, karena konfigurasi bervariasi.
Mengingat flag ini, eksctl create cluster akan menentukan ID VPC secara otomatis, tetapi tidak akan membuat tabel routing atau sumber daya lainnya, seperti gateway. internet/NAT Namun, ini akan membuat grup keamanan khusus untuk nodegroup awal dan pesawat kontrol.
Anda harus memastikan untuk menyediakan setidaknya 2 subnet yang berbeda AZs dan kondisi ini diperiksa oleh EKS. Jika Anda menggunakan VPC yang ada, persyaratan berikut tidak diberlakukan atau diperiksa oleh EKS atau Eksctl dan EKS membuat cluster. Beberapa fungsi dasar cluster bekerja tanpa persyaratan ini. (Misalnya, penandaan tidak sepenuhnya diperlukan, pengujian telah menunjukkan bahwa dimungkinkan untuk membuat cluster fungsional tanpa tag yang ditetapkan pada subnet, namun tidak ada jaminan bahwa ini akan selalu berlaku dan penandaan direkomendasikan.)
Persyaratan standar:
-
semua subnet yang diberikan harus dalam VPC yang sama, dalam blok yang sama IPs
-
jumlah alamat IP yang cukup tersedia, berdasarkan kebutuhan
-
jumlah subnet yang cukup (minimal 2), berdasarkan kebutuhan
-
subnet ditandai dengan setidaknya yang berikut:
-
kubernetes.io/cluster/<name>tag disetel ke salah satusharedatauowned -
kubernetes.io/role/internal-elbtag disetel ke1untuk subnet pribadi -
kubernetes.io/role/elbtag disetel ke1subnet publik
-
-
gateway and/or NAT internet yang dikonfigurasi dengan benar
-
tabel routing memiliki entri yang benar dan jaringan berfungsi
-
BARU: semua subnet publik harus
MapPublicIpOnLaunchmengaktifkan properti (yaituAuto-assign public IPv4 addressdi konsol AWS). Grup node terkelola dan Fargate tidak menetapkan IPv4 alamat publik, properti harus disetel di subnet.
Mungkin ada persyaratan lain yang diberlakukan oleh EKS atau Kubernetes, dan sepenuhnya terserah Anda untuk tetap up-to-date pada persyaratan apa pun. and/or recommendations, and implement those as needed/possible
Pengaturan grup keamanan default yang diterapkan oleh eksctl mungkin atau mungkin tidak cukup untuk berbagi akses dengan sumber daya di grup keamanan lain. Jika Anda ingin mengubah ingress/egress aturan grup keamanan, Anda mungkin perlu menggunakan alat lain untuk mengotomatiskan perubahan, atau melakukannya melalui EC2 konsol.
Jika ragu, jangan gunakan VPC khusus. Menggunakan eksctl create cluster tanpa --vpc-* flag apa pun akan selalu mengonfigurasi cluster dengan VPC khusus yang berfungsi penuh.
Contoh
Buat cluster menggunakan VPC kustom dengan 2x subnet pribadi dan 2x publik:
eksctl create cluster \ --vpc-private-subnets=subnet-0ff156e0c4a6d300c,subnet-0426fb4a607393184 \ --vpc-public-subnets=subnet-0153e560b3129a696,subnet-009fa0199ec203c37
atau gunakan file konfigurasi setara berikut:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-test region: us-west-2 vpc: id: "vpc-11111" subnets: private: us-west-2a: id: "subnet-0ff156e0c4a6d300c" us-west-2c: id: "subnet-0426fb4a607393184" public: us-west-2a: id: "subnet-0153e560b3129a696" us-west-2c: id: "subnet-009fa0199ec203c37" nodeGroups: - name: ng-1
Buat cluster menggunakan VPC khusus dengan 3x subnet pribadi dan buat nodegroup awal menggunakan subnet tersebut:
eksctl create cluster \ --vpc-private-subnets=subnet-0ff156e0c4a6d300c,subnet-0549cdab573695c03,subnet-0426fb4a607393184 \ --node-private-networking
atau gunakan file konfigurasi setara berikut:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-test region: us-west-2 vpc: id: "vpc-11111" subnets: private: us-west-2d: id: "subnet-0ff156e0c4a6d300c" us-west-2c: id: "subnet-0549cdab573695c03" us-west-2a: id: "subnet-0426fb4a607393184" nodeGroups: - name: ng-1 privateNetworking: true
Buat cluster menggunakan subnet publik VPC 4x kustom:
eksctl create cluster \ --vpc-public-subnets=subnet-0153e560b3129a696,subnet-0cc9c5aebe75083fd,subnet-009fa0199ec203c37,subnet-018fa0176ba320e45
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-test region: us-west-2 vpc: id: "vpc-11111" subnets: public: us-west-2d: id: "subnet-0153e560b3129a696" us-west-2c: id: "subnet-0cc9c5aebe75083fd" us-west-2a: id: "subnet-009fa0199ec203c37" us-west-2b: id: "subnet-018fa0176ba320e45" nodeGroups: - name: ng-1
Contoh lainnya dapat ditemukan di examples folder repo:
Grup Keamanan Node Bersama Kustom
eksctlakan membuat dan mengelola grup keamanan node bersama yang memungkinkan komunikasi antara node yang tidak dikelola dan bidang kontrol cluster dan node terkelola.
Jika Anda ingin menyediakan grup keamanan kustom Anda sendiri, Anda dapat mengganti sharedNodeSecurityGroup bidang di file konfigurasi:
vpc: sharedNodeSecurityGroup: sg-0123456789
Secara default, saat membuat cluster, eksctl akan menambahkan aturan ke grup keamanan ini untuk memungkinkan komunikasi ke dan dari grup keamanan cluster default yang dibuat EKS. Grup keamanan klaster default digunakan oleh bidang kontrol EKS dan grup node terkelola.
Jika Anda ingin mengelola sendiri aturan grup keamanan, Anda dapat eksctl mencegah pembuatan aturan dengan manageSharedNodeSecurityGroupRules menyetelnya false di file konfigurasi:
vpc: sharedNodeSecurityGroup: sg-0123456789 manageSharedNodeSecurityGroupRules: false
Gerbang NAT
NAT Gateway untuk cluster dapat dikonfigurasi menjadiDisable, Single (default) atauHighlyAvailable. HighlyAvailableOpsi ini akan menggunakan Gateway NAT di setiap Availability Zone Wilayah, sehingga jika AZ sedang down, node di yang lain AZs masih dapat berkomunikasi ke Internet.
Itu dapat ditentukan melalui flag --vpc-nat-mode CLI atau dalam file konfigurasi cluster seperti contoh di bawah ini:
vpc: nat: gateway: HighlyAvailable # other options: Disable, Single (default)
Lihat contoh lengkapnya di sini
catatan
Menentukan NAT Gateway hanya didukung selama pembuatan klaster. Itu tidak disentuh selama peningkatan cluster.