Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Tingkatkan node hybrid untuk klaster Anda

Mode fokus
Tingkatkan node hybrid untuk klaster Anda - Amazon EKS

Bantu tingkatkan halaman ini

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

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

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

Bantu tingkatkan halaman ini

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

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

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

Panduan untuk memutakhirkan node hibrida mirip dengan node Amazon EKS yang dikelola sendiri yang berjalan di Amazon. EC2 Disarankan untuk dapat membuat node hybrid baru pada versi Kubernetes target Anda, dengan anggun memigrasikan aplikasi Anda yang ada ke node hybrid pada versi Kubernetes yang baru, dan menghapus node hybrid pada versi Kubernetes lama dari klaster Anda. Pastikan untuk meninjau Praktik Terbaik Amazon EKS untuk peningkatan sebelum memulai pemutakhiran. Amazon EKS Hybrid Nodes memiliki dukungan versi Kubernetes yang sama untuk klaster Amazon EKS dengan node cloud, termasuk dukungan standar dan diperpanjang.

Amazon EKS Hybrid Nodes mengikuti kebijakan skew versi yang sama untuk node seperti Kubernetes upstream. Amazon EKS Hybrid Nodes tidak dapat menggunakan versi yang lebih baru daripada bidang kontrol Amazon EKS, dan node hybrid mungkin memiliki hingga tiga versi minor Kubernetes yang lebih lama dari versi minor bidang kontrol Amazon EKS.

Jika Anda tidak memiliki kapasitas cadangan untuk membuat node hybrid baru pada versi Kubernetes target Anda untuk strategi upgrade migrasi cutover, Anda dapat menggunakan Amazon EKS Hybrid Nodes CLI (nodeadm) untuk meng-upgrade versi Kubernetes dari node hybrid Anda di tempat.

penting

Jika Anda memutakhirkan node hybrid Anda di tempatnodeadm, ada downtime untuk node selama proses di mana versi lama dari komponen Kubernetes dimatikan dan komponen versi Kubernetes yang baru diinstal dan dimulai.

Prasyarat

Sebelum memutakhirkan, pastikan Anda telah menyelesaikan prasyarat berikut.

  • Versi Kubernetes target untuk upgrade node hybrid Anda harus sama atau kurang dari versi control plane Amazon EKS.

  • Jika Anda mengikuti strategi upgrade migrasi cutover, node hybrid baru yang Anda instal pada versi Kubernetes target Anda harus memenuhi persyaratan. Penyiapan prasyarat untuk node hybrid Ini termasuk memiliki alamat IP dalam CIDR Jaringan Node Jarak Jauh yang Anda lewati selama pembuatan klaster Amazon EKS.

  • Untuk migrasi cutover dan peningkatan di tempat, node hybrid harus memiliki akses ke domain yang diperlukan untuk menarik versi baru dari dependensi node hybrid.

  • Anda harus menginstal kubectl di mesin lokal atau instance yang Anda gunakan untuk berinteraksi dengan endpoint API Amazon EKS Kubernetes Anda.

  • Versi CNI Anda harus mendukung versi Kubernetes yang sedang Anda upgrade. Jika tidak, tingkatkan versi CNI Anda sebelum memutakhirkan node hybrid Anda. Untuk informasi selengkapnya, lihat Konfigurasikan CNI untuk node hybrid.

Peningkatan migrasi cutover

Upgrade migrasi cutover mengacu pada proses pembuatan node hybrid baru pada host baru dengan versi Kubernetes target Anda, dengan anggun memigrasikan aplikasi Anda yang ada ke node hybrid baru pada versi Kubernetes target Anda, dan menghapus node hybrid pada versi Kubernetes lama dari klaster Anda.

  1. Hubungkan host baru Anda sebagai node hibrida mengikuti Connect node hybrid langkah-langkahnya. Saat menjalankan nodeadm install perintah, gunakan versi Kubernetes target Anda.

  2. Aktifkan komunikasi antara node hybrid baru pada versi Kubernetes target dan node hybrid Anda pada versi Kubernetes lama. Konfigurasi ini memungkinkan pod untuk berkomunikasi satu sama lain saat Anda memigrasikan beban kerja Anda ke node hibrida pada versi Kubernetes target.

  3. Konfirmasikan node hibrida Anda pada versi Kubernetes target Anda berhasil bergabung dengan klaster Anda dan memiliki status Siap.

  4. Gunakan perintah berikut untuk mencemari setiap node yang ingin Anda hapus. NoSchedule Hal ini agar pod baru tidak dijadwalkan atau dijadwal ulang pada node yang Anda ganti. Untuk informasi selengkapnya, lihat Taints and Tolerations dalam dokumentasi Kubernetes. Ganti NODE_NAME dengan nama node hybrid pada versi Kubernetes lama.

    kubectl taint nodes NODE_NAME key=value:NoSchedule

    Anda dapat mengidentifikasi dan menodai semua node dari versi Kubernetes tertentu (dalam hal ini,1.28) dengan cuplikan kode berikut.

    K8S_VERSION=1.28 nodes=$(kubectl get nodes -o jsonpath="{.items[?(@.status.nodeInfo.kubeletVersion==\"v$K8S_VERSION\")].metadata.name}") for node in ${nodes[@]} do echo "Tainting $node" kubectl taint nodes $node key=value:NoSchedule done
  5. Jika penerapan Anda saat ini menjalankan kurang dari dua replika CoreDNS pada node hybrid Anda, skala penerapan menjadi setidaknya dua replika. Disarankan untuk menjalankan setidaknya dua replika CoreDNS pada node hybrid untuk ketahanan selama operasi normal.

    kubectl scale deployments/coredns --replicas=2 -n kube-system
  6. Kuras setiap node hybrid pada versi Kubernetes lama yang ingin Anda hapus dari cluster Anda dengan perintah berikut. Untuk informasi selengkapnya tentang menguras node, lihat Safely Drain a Node dalam dokumentasi Kubernetes. Ganti NODE_NAME dengan nama node hybrid pada versi Kubernetes lama.

    kubectl drain NODE_NAME --ignore-daemonsets --delete-emptydir-data

    Anda dapat mengidentifikasi dan menguras semua node dari versi Kubernetes tertentu (dalam hal ini,1.28) dengan cuplikan kode berikut.

    K8S_VERSION=1.28 nodes=$(kubectl get nodes -o jsonpath="{.items[?(@.status.nodeInfo.kubeletVersion==\"v$K8S_VERSION\")].metadata.name}") for node in ${nodes[@]} do echo "Draining $node" kubectl drain $node --ignore-daemonsets --delete-emptydir-data done
  7. Anda dapat menggunakan nodeadm untuk menghentikan dan menghapus artefak node hybrid dari host. Anda harus menjalankan nodeadm dengan pengguna yang memiliki hak root/sudo. Secara default, tidak nodeadm uninstall akan melanjutkan jika ada pod yang tersisa di node. Untuk informasi selengkapnya, lihat nodeadmReferensi node hibrida.

    nodeadm uninstall
  8. Dengan artefak node hybrid dihentikan dan dihapus, hapus sumber daya node dari cluster Anda.

    kubectl delete node node-name

    Anda dapat mengidentifikasi dan menghapus semua node dari versi Kubernetes tertentu (dalam hal ini,1.28) dengan cuplikan kode berikut.

    K8S_VERSION=1.28 nodes=$(kubectl get nodes -o jsonpath="{.items[?(@.status.nodeInfo.kubeletVersion==\"v$K8S_VERSION\")].metadata.name}") for node in ${nodes[@]} do echo "Deleting $node" kubectl delete node $node done
  9. Tergantung pada pilihan CNI Anda, mungkin ada artefak yang tersisa di node hybrid Anda setelah menjalankan langkah-langkah di atas. Untuk informasi selengkapnya, lihat Konfigurasikan CNI untuk node hybrid.

Peningkatan di tempat

Proses upgrade di tempat mengacu pada penggunaan nodeadm upgrade untuk meng-upgrade versi Kubernetes untuk node hybrid tanpa menggunakan host fisik atau virtual baru dan strategi migrasi cutover. nodeadm upgradeProses ini mematikan komponen Kubernetes lama yang ada yang berjalan pada node hybrid, menghapus instalasi komponen Kubernetes lama yang ada, menginstal komponen Kubernetes target baru, dan memulai komponen Kubernetes target baru. Sangat disarankan untuk memutakhirkan satu node pada satu waktu untuk meminimalkan dampak pada aplikasi yang berjalan pada node hybrid. Durasi proses ini tergantung pada bandwidth dan latensi jaringan Anda.

  1. Gunakan perintah berikut untuk mencemari node yang Anda upgrade dengan. NoSchedule Hal ini agar pod baru tidak dijadwalkan atau dijadwal ulang pada node yang sedang Anda upgrade. Untuk informasi selengkapnya, lihat Taints and Tolerations dalam dokumentasi Kubernetes. Ganti NODE_NAME dengan nama node hybrid yang Anda upgrade

    kubectl taint nodes NODE_NAME key=value:NoSchedule
  2. Kuras node yang Anda upgrade dengan perintah berikut. Untuk informasi selengkapnya tentang menguras node, lihat Safely Drain a Node dalam dokumentasi Kubernetes. Ganti NODE_NAME dengan nama node hybrid yang Anda upgrade.

    kubectl drain NODE_NAME --ignore-daemonsets --delete-emptydir-data
  3. Jalankan nodeadm upgrade pada node hybrid yang Anda upgrade. Anda harus menjalankan nodeadm dengan pengguna yang memiliki hak root/sudo. Nama node dipertahankan melalui peningkatan untuk penyedia kredensi AWS SSM dan AWS IAM Roles Anywhere. Anda tidak dapat mengubah penyedia kredensi selama proses pemutakhiran. Lihat nodeadmReferensi node hibrida untuk nilai konfigurasi untuknodeConfig.yaml. Ganti K8S_VERSION dengan versi Kubernetes target yang Anda tingkatkan.

    nodeadm upgrade K8S_VERSION -c file://nodeConfig.yaml
  4. Untuk memungkinkan pod dijadwalkan pada node setelah Anda memutakhirkan, ketik berikut ini. Ganti NODE_NAME dengan nama node.

    kubectl taint nodes NODE_NAME key=value:NoSchedule- kubectl uncordon NODE_NAME
  5. Perhatikan status node hybrid Anda dan tunggu node Anda dimatikan dan restart pada versi Kubernetes baru dengan status Ready.

    kubectl get nodes -o -w

Di halaman ini

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.