Node Hibrida EKS - Panduan Pengguna Eksctl

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Node Hibrida EKS

Pengantar

AWS EKS memperkenalkan Hybrid Nodes, fitur baru yang memungkinkan Anda menjalankan aplikasi lokal dan edge pada infrastruktur yang dikelola pelanggan dengan kluster, fitur, dan alat AWS EKS yang sama yang Anda gunakan di AWS Cloud. AWS EKS Hybird Nodes menghadirkan pengalaman Kubernetes yang dikelola AWS ke lingkungan lokal bagi pelanggan untuk menyederhanakan dan menstandarisasi cara Anda menjalankan aplikasi di lingkungan lokal, edge, dan cloud. Baca lebih lanjut di EKS Hybrid Nodes.

Untuk memfasilitasi dukungan untuk fitur ini, eksctl memperkenalkan bidang tingkat atas baru yang disebut. remoteNetworkConfig Setiap konfigurasi terkait Node Hybrid harus diatur melalui bidang ini, sebagai bagian dari file konfigurasi; tidak ada rekan flag CLI. Selain itu, saat peluncuran, konfigurasi jaringan jarak jauh apa pun hanya dapat diatur selama pembuatan cluster dan tidak dapat diperbarui setelahnya. Ini berarti, Anda tidak akan dapat memperbarui cluster yang ada untuk menggunakan Hybrid Nodes.

remoteNetworkConfigBagian dari file konfigurasi memungkinkan Anda untuk mengatur dua area inti ketika datang untuk menggabungkan node jarak jauh ke kluster EKS Anda: jaringan dan kredensyal.

Jaringan

EKS Hybrid Nodes fleksibel dengan metode pilihan Anda untuk menghubungkan jaringan lokal Anda ke AWS VPC. Ada beberapa opsi terdokumentasi yang tersedia, termasuk AWS Site-to-Site VPN dan AWS Direct Connect, dan Anda dapat memilih metode yang paling sesuai dengan kasus penggunaan Anda. Di sebagian besar metode yang mungkin Anda pilih, VPC Anda akan dilampirkan ke gateway pribadi virtual (VGW) atau gateway transit (TGW). Jika Anda mengandalkan eksctl untuk membuat VPC untuk Anda, eksctl juga akan mengonfigurasi, dalam lingkup VPC Anda, prasyarat terkait jaringan apa pun untuk memfasilitasi komunikasi antara bidang kontrol EKS Anda dan node jarak jauh yaitu

  • aturan SG masuk/keluar

  • rute di tabel rute subnet pribadi

  • lampiran gateway VPC ke TGW atau VGW yang diberikan

Contoh file konfigurasi:

remoteNetworkConfig: vpcGatewayID: tgw-xxxx # either VGW or TGW to be attached to your VPC remoteNodeNetworks: # eksctl will create, behind the scenes, SG rules, routes, and a VPC gateway attachment, # to facilitate communication between remote network(s) and EKS control plane, via the attached gateway - cidrs: ["10.80.146.0/24"] remotePodNetworks: - cidrs: ["10.86.30.0/23"]

Jika metode konektivitas pilihan Anda tidak melibatkan penggunaan TGW atau VGW, Anda tidak boleh mengandalkan eksctl untuk membuat VPC untuk Anda, dan sebagai gantinya menyediakan yang sudah ada sebelumnya. Pada catatan terkait, jika Anda menggunakan VPC yang sudah ada sebelumnya, eksctl tidak akan membuat perubahan apa pun terhadapnya, dan memastikan semua persyaratan jaringan berada di bawah tanggung jawab Anda.

catatan

eksctl tidak menyiapkan infrastruktur jaringan apa pun di luar AWS VPC Anda (yaitu infrastruktur apa pun dari VGW/TGW jaringan jarak jauh)

Kredensial

EKS Hybrid Nodes menggunakan AWS IAM Authenticator dan kredensyal IAM sementara yang disediakan oleh AWS SSM atau AWS IAM Roles Anywhere untuk mengautentikasi dengan kluster EKS. Mirip dengan nodegroup yang dikelola sendiri, jika tidak disediakan lain, eksctl akan membuat untuk Anda Peran IAM Hybrid Nodes untuk diasumsikan oleh node jarak jauh. Selain itu, saat menggunakan IAM Roles Anywhere sebagai penyedia kredensional Anda, eksctl akan menyiapkan profil, dan mempercayai jangkar berdasarkan bundel otoritas sertifikat yang diberikan () mis. iam.caBundleCert

remoteNetworkConfig: iam: # the provider for temporary IAM credentials. Default is SSM. provider: IRA # the certificate authority bundle that serves as the root of trust, # used to validate the X.509 certificates provided by your nodes. # can only be set when provider is IAMRolesAnywhere. caBundleCert: xxxx

ARN dari Peran Node Hybrid yang dibuat oleh eksctl diperlukan nanti dalam proses menggabungkan node jarak jauh Anda ke cluster, NodeConfig untuk mengaturnodeadm, dan membuat aktivasi (jika menggunakan SSM). Untuk mengambilnya, gunakan:

aws cloudformation describe-stacks \ --stack-name eksctl-<CLUSTER_NAME>-cluster \ --query 'Stacks[].Outputs[?OutputKey==`RemoteNodesRoleARN`].[OutputValue]' \ --output text

Demikian pula, jika menggunakan Peran IAM Di Mana Saja, Anda dapat mengambil ARN dari jangkar kepercayaan dan profil di mana saja yang dibuat oleh eksctl, mengubah perintah sebelumnya dengan mengganti dengan atau, masing-masing. RemoteNodesRoleARN RemoteNodesTrustAnchorARN RemoteNodesAnywhereProfileARN

Jika Anda memiliki konfigurasi IAM Roles Anywhere yang sudah ada sebelumnya, atau Anda menggunakan SSM, Anda dapat memberikan Peran IAM untuk node Hybrid melalui. remoteNetworkConfig.iam.roleARN Ingatlah bahwa dalam skenario ini, eksctl tidak akan membuat jangkar kepercayaan dan profil di mana pun untuk Anda. mis.

remoteNetworkConfig: iam: roleARN: arn:aws:iam::000011112222:role/HybridNodesRole

Untuk memetakan peran ke identitas Kubernetes dan mengotorisasi node jarak jauh untuk bergabung dengan kluster EKS, eksctl membuat entri akses dengan Peran IAM Node Hybrid sebagai ARN utama dan tipe. HYBRID_LINUX

eksctl get accessentry --cluster my-cluster --principal-arn arn:aws:iam::000011112222:role/eksctl-my-cluster-clust-HybridNodesSSMRole-XiIAg0d29PkO --output json [ { "principalARN": "arn:aws:iam::000011112222:role/eksctl-my-cluster-clust-HybridNodesSSMRole-XiIAg0d29PkO", "kubernetesGroups": [ "system:nodes" ] } ]

Dukungan add-on

Container Networking Interface (CNI): AWS VPC CNI tidak dapat digunakan dengan node hybrid. Kemampuan inti Cilium dan Calico didukung untuk digunakan dengan node hybrid. Anda dapat mengelola CNI Anda dengan alat pilihan Anda seperti Helm. Untuk informasi selengkapnya, lihat Mengkonfigurasi CNI untuk node hibrid.

catatan

Jika Anda menginstal VPC CNI di cluster Anda untuk nodegroup yang dikelola sendiri atau yang dikelola EKS, Anda harus menggunakan v1.19.0-eksbuild.1 atau yang lebih baru, karena ini termasuk udpate ke daemonset add-on untuk mengecualikannya agar tidak diinstal pada Hybrid Nodes.

Referensi lebih lanjut