Bantu tingkatkan halaman ini
Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Deploy Windows node pada EKS cluster
Sebelum menyebarkan Windows node, perhatikan pertimbangan berikut.
Pertimbangan
-
Anda dapat menggunakan jaringan host pada node Windows menggunakan
HostProcess
Pod. Untuk informasi selengkapnya, lihat Membuat WindowsHostProcess
Poddi Kubernetes dokumentasi. -
EKSCluster Amazon harus berisi satu atau lebih Linux atau node Fargate untuk menjalankan sistem inti Pods yang hanya berjalan di Linux, seperti CoreDNS.
-
Log
kubelet
dankube-proxy
peristiwa dialihkan keEKS
Windows Event Log dan diatur ke batas 200 MB. -
Anda tidak dapat menggunakan Tetapkan grup keamanan ke individu pods dengan Pods berjalan di Windows simpul.
-
Anda tidak dapat menggunakan jaringan khusus dengan Windows simpul.
-
Anda tidak dapat menggunakan
IPv6
dengan Windows simpul. -
Windows node mendukung satu elastic network interface per node. Secara default, jumlah Pods bahwa Anda dapat menjalankan per Windows node sama dengan jumlah alamat IP yang tersedia per elastic network interface untuk tipe instance node, dikurangi satu. Untuk informasi selengkapnya, lihat alamat IP per antarmuka jaringan per jenis instans di Panduan EC2 Pengguna Amazon.
-
Di EKS cluster Amazon, satu layanan dengan penyeimbang beban dapat mendukung hingga 1024 back-end Pods. Masing-masing Pod Memiliki alamat IP yang unik. Batas sebelumnya 64 Pods tidak lagi terjadi, setelah pembaruan Windows Server
dimulai dengan OS Build 17763.2746 . -
Kontainer Windows tidak didukung untuk Amazon EKS Pods di Fargate.
-
Anda tidak dapat mengambil log dari
vpc-resource-controller
Pod. Anda sebelumnya bisa ketika Anda menyebarkan pengontrol ke bidang data. -
Ada periode pendinginan sebelum
IPv4
alamat ditetapkan ke Pod baru. Hal ini mencegah lalu lintas mengalir ke Pod lama denganIPv4
alamat yang sama karenakube-proxy
aturan basi. -
Sumber untuk pengontrol dikelola pada GitHub. Untuk berkontribusi, atau mengajukan masalah terhadap pengontrol, kunjungi proyek
di GitHub. -
Saat menentukan AMI ID kustom untuk Windows grup node terkelola, tambahkan
eks:kube-proxy-windows
ke peta konfigurasi AWS IAM Authenticator Anda. Untuk informasi selengkapnya, lihat Batas dan kondisi saat menentukan ID AMI. -
Jika menjaga IPv4 alamat yang tersedia sangat penting untuk subnet Anda, lihat Panduan Praktik EKS Terbaik - Manajemen Alamat IP Jaringan Windows
untuk panduan.
Prasyarat
-
Sebuah klaster yang sudah ada. Cluster harus menjalankan salah satu Kubernetes versi dan versi platform yang tercantum dalam tabel berikut. Setiap Kubernetes dan versi platform yang lebih lambat dari yang terdaftar juga didukung.
Kubernetes versi Versi platform 1.31 eks.1 1.30 eks.2 1.29 eks.1 1.28 eks.1 1.27 eks.1 1.26 eks.1 1,25 eks.1 1.24 eks.2 -
Cluster Anda harus memiliki setidaknya satu (kami sarankan setidaknya dua) Linux simpul atau Fargate Pod untuk menjalankan CoreDNS. Jika Anda mengaktifkan legacy Windows dukungan, Anda harus menggunakan Linux node (Anda tidak dapat menggunakan Fargate Pod) untuk menjalankan CoreDNS.
-
Yang sudah adaIAMPeran EKS cluster Amazon.
Aktifkan Windows dukungan
Untuk mengaktifkan Windows dukungan untuk klaster Anda
-
Jika Anda tidak memiliki node Amazon Linux di cluster Anda dan gunakan grup keamanan untuk Pods, lompat ke langkah berikutnya. Jika tidak, konfirmasikan bahwa kebijakan
AmazonEKSVPCResourceController
terkelola dilampirkan ke peran klaster Anda. Ganti
dengan nama peran cluster Anda.eksClusterRole
aws iam list-attached-role-policies --role-name
eksClusterRole
Contoh output adalah sebagai berikut.
{ "AttachedPolicies": [ { "PolicyName": "AmazonEKSClusterPolicy", "PolicyArn": "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" }, { "PolicyName": "AmazonEKSVPCResourceController", "PolicyArn": "arn:aws:iam::aws:policy/AmazonEKSVPCResourceController" } ] }
Jika kebijakan dilampirkan, seperti pada output sebelumnya, lewati langkah berikutnya.
-
Lampirkan kebijakan terkelola A mazonEKSVPCResource Controller ke kebijakan AndaIAMPeran EKS cluster Amazon. Ganti
dengan nama peran cluster Anda.eksClusterRole
aws iam attach-role-policy \ --role-name
eksClusterRole
\ --policy-arn arn:aws:iam::aws:policy/AmazonEKSVPCResourceController -
Buat file bernama
dengan isi berikut ini.vpc-resource-controller-configmap.yaml
apiVersion: v1 kind: ConfigMap metadata: name: amazon-vpc-cni namespace: kube-system data: enable-windows-ipam: "true"
-
Terapkan
ConfigMap
ke cluster Anda.kubectl apply -f
vpc-resource-controller-configmap.yaml
-
Verifikasi bahwa Anda
aws-auth
ConfigMap
berisi pemetaan untuk peran instans Windows node untuk memasukkan grupeks:kube-proxy-windows
RBAC izin. Anda dapat memverifikasi dengan menjalankan perintah berikut.kubectl get configmap aws-auth -n kube-system -o yaml
Contoh output adalah sebagai berikut.
apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - groups: - system:bootstrappers - system:nodes - eks:kube-proxy-windows # This group is required for Windows DNS resolution to work rolearn: arn:aws:iam::
111122223333
:role/eksNodeRole
username: system:node:{{EC2PrivateDNSName}} [...]Anda harus melihat
eks:kube-proxy-windows
terdaftar di bawah grup. Jika grup tidak ditentukan, Anda perlu memperbaruiConfigMap
atau membuatnya untuk menyertakan grup yang diperlukan. Untuk informasi lebih lanjut tentangaws-auth
ConfigMap
, lihatTerapkan aws-authConfigMap ke cluster Anda.
Menerapkan Pod Windows
Saat Anda menerapkan Pod ke klaster Anda, Anda perlu menentukan sistem operasi yang mereka gunakan jika Anda menjalankan campuran tipe node.
Untuk Linux Pods, gunakan teks pemilih simpul berikut dalam manifes Anda.
nodeSelector: kubernetes.io/os: linux kubernetes.io/arch: amd64
Untuk Windows Pods, gunakan teks pemilih simpul berikut dalam manifes Anda.
nodeSelector: kubernetes.io/os: windows kubernetes.io/arch: amd64
Anda dapat menerapkan aplikasi sampel untuk melihat pemilih node yang digunakan.
Support lebih tinggi Pod kepadatan pada node Windows
Di AmazonEKS, masing-masing Pod dialokasikan IPv4
alamat dari AndaVPC. Karena ini, jumlah Pods yang dapat Anda terapkan ke node dibatasi oleh alamat IP yang tersedia, bahkan jika ada sumber daya yang cukup untuk menjalankan lebih banyak Pods pada simpul. Karena hanya satu elastic network interface yang didukung oleh node Windows, secara default, jumlah maksimum alamat IP yang tersedia pada node Windows sama dengan:
Number of private IPv4
addresses for each interface on the node - 1
Satu alamat IP digunakan sebagai alamat IP utama antarmuka jaringan, sehingga tidak dapat dialokasikan Pods.
Anda dapat mengaktifkan yang lebih tinggi Pod kepadatan pada node Windows dengan mengaktifkan delegasi awalan IP. Fitur ini memungkinkan Anda untuk menetapkan /28
IPv4
awalan ke antarmuka jaringan utama, bukan menetapkan alamat sekunder. IPv4
Menetapkan awalan IP meningkatkan IPv4
alamat maksimum yang tersedia pada node menjadi:
(Number of private IPv4
addresses assigned to the interface attached to the node - 1) * 16
Dengan jumlah alamat IP yang tersedia secara signifikan lebih besar ini, alamat IP yang tersedia seharusnya tidak membatasi kemampuan Anda untuk menskalakan jumlah alamat IP yang tersedia. Pods pada node Anda. Untuk informasi selengkapnya, lihat Tetapkan lebih banyak alamat IP ke EKS node Amazon dengan awalan.