Bantu meningkatkan 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 GitHub tautan Edit halaman ini di 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.
Referensi nodead m node hibrida
Amazon EKS Hybrid Nodes CLI (nodeadm) menyederhanakan instalasi, konfigurasi, pendaftaran, dan penghapusan instalasi komponen node hibrida. Anda dapat menyertakan nodeadm dalam gambar sistem operasi Anda untuk mengotomatiskan bootstrap node hybrid, lihat Siapkan sistem operasi untuk node hybrid untuk informasi lebih lanjut.
nodeadmVersi untuk node hibrida berbeda dari nodeadm versi yang digunakan untuk bootstrap instans Amazon EC2 sebagai node di cluster Amazon EKS. Ikuti dokumentasi dan referensi untuk nodeadm versi yang sesuai. Halaman dokumentasi ini untuk nodeadm versi node hybrid.
Kode sumber untuk node hybrid nodeadm dipublikasikan di https://github.com/aws/eks-hybrid GitHub repositori.
penting
Anda harus menjalankan nodeadm dengan pengguna yang memiliki root/sudo hak istimewa.
Diperlukan versi nodeadm untuk penyedia kredenSIAL SSM
Jika Anda menggunakan AWS System Manager (SSM) sebagai penyedia kredensia untuk node hibrida, Anda harus menggunakan nodeadm versi 1.0.19 atau yang lebih baru untuk instalasi dan peningkatan baru. Versi sebelumnya nodeadm berisi kunci penandatanganan SSM yang sudah ketinggalan zaman dan gagal selama nodeadm install dan nodeadm upgrade dengan kesalahan verifikasi tanda tangan berikut:
"msg":"Command failed","error":"failed to install ssm installer: validating ssm-setup-cli signature: Signature Verification Error: No matching signature"
Untuk mengatasi kesalahan ini, unduh versi terbaru nodeadm sebelum menjalankan nodeadm install ataunodeadm upgrade.
Unduh nodeadm
Versi node hybrid di-host di Amazon S3 yang didepan oleh Amazon CloudFront. nodeadm Untuk menginstal nodeadm pada setiap host lokal, Anda dapat menjalankan perintah berikut dari host lokal Anda.
Untuk host x86_64
curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/amd64/nodeadm'
Untuk host ARM
curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/arm64/nodeadm'
Tambahkan izin file yang dapat dieksekusi ke biner yang diunduh di setiap host.
chmod +x nodeadm
menginstal nodeadm
Per nodeadm install intah ini digunakan untuk menginstal artefak dan dependensi yang diperlukan untuk menjalankan dan menggabungkan node hybrid ke cluster Amazon EKS. Per nodeadm install intah dapat dijalankan secara individual pada setiap node hybrid atau dapat dijalankan selama pipeline pembuatan gambar untuk pra-instal dependensi node hybrid dalam gambar sistem operasi.
Penggunaan
nodeadm install [KUBERNETES_VERSION] [flags]
Argumen Posisi
(Diperlukan) Versi KUBERNETES_VERSION mayor.minor dari EKS Kubernetes untuk menginstal, misalnya 1.32
Bendera
| Nama | Diperlukan | Deskripsi |
|---|---|---|
|
|
BETUL |
Penyedia kredensi untuk menginstal. Nilai yang didukung adalah |
|
|
SALAH |
Sumber untuk Nilai-nilai |
|
|
SALAH |
Menentukan AWS Wilayah untuk mengunduh artefak seperti Agen SSM. Default ke |
|
|
SALAH |
Durasi perintah instalasi maksimum. Input mengikuti format durasi. Sebagai contoh, |
|
|
SALAH |
Menampilkan pesan bantuan dengan parameter bendera, subperintah, dan nilai posisi yang tersedia. |
Contoh
Instal versi Kubernetes 1.32 dengan AWS Systems Manager (SSM) sebagai penyedia kredensi
nodeadm install 1.32 --credential-provider ssm
Instal versi Kubernetes 1.32 dengan AWS Systems Manager (SSM) sebagai penyedia kredensi, Docker sebagai sumber containerd, dengan batas waktu unduhan 20 menit.
nodeadm install 1.32 --credential-provider ssm --containerd-source docker --timeout 20m
Instal versi Kubernetes 1.32 dengan AWS IAM Roles Anywhere sebagai penyedia kredensi
nodeadm install 1.32 --credential-provider iam-ra
pemeriksaan konfigurasi nodeadm
Per nodeadm config check intah memeriksa konfigurasi node yang disediakan untuk kesalahan. Perintah ini dapat digunakan untuk memverifikasi dan memvalidasi kebenaran file konfigurasi simpul hibrida.
Penggunaan
nodeadm config check [flags]
Bendera
| Nama | Diperlukan | Deskripsi |
|---|---|---|
|
|
BETUL |
Sumber konfigurasi nodeadm. Untuk node hybrid input harus mengikuti URI dengan skema file. |
|
|
SALAH |
Menampilkan pesan bantuan dengan parameter bendera, subperintah, dan nilai posisi yang tersedia. |
Contoh
nodeadm config check -c file://nodeConfig.yaml
Nodeadm Init
Per nodeadm init intah memulai dan menghubungkan node hybrid dengan cluster Amazon EKS yang dikonfigurasi. Lihat Konfigurasi Node untuk aktivasi hibrida SSM atau Konfigurasi Node untuk Peran IAM Di Mana Saja untuk detail tentang cara mengkonfigurasi nodeConfig.yaml file.
Penggunaan
nodeadm init [flags]
Bendera
| Nama | Diperlukan | Deskripsi |
|---|---|---|
|
|
BETUL |
Sumber |
|
|
SALAH |
Fase yang Nilai-nilai |
|
|
SALAH |
Menampilkan pesan bantuan dengan parameter bendera, subperintah, dan nilai posisi yang tersedia. |
Contoh
nodeadm init -c file://nodeConfig.yaml
upgrade nodeadm
Per nodeadm upgrade intah memutakhirkan semua artefak yang diinstal ke versi terbaru dan mem-bootstrap node untuk mengonfigurasi artefak yang ditingkatkan dan bergabung dengan cluster EKS. AWS Upgrade adalah perintah yang mengganggu beban kerja yang berjalan di node. Harap pindahkan beban kerja Anda ke node lain sebelum menjalankan upgrade.
Penggunaan
nodeadm upgrade [KUBERNETES_VERSION] [flags]
Argumen Posisi
(Diperlukan) Versi KUBERNETES_VERSION mayor.minor dari EKS Kubernetes untuk menginstal, misalnya 1.32
Bendera
| Nama | Diperlukan | Deskripsi |
|---|---|---|
|
|
BETUL |
Sumber |
|
|
SALAH |
Batas waktu untuk mengunduh artefak. Input mengikuti format durasi. Misalnya 1h23m. Batas waktu unduhan default untuk perintah upgrade diatur ke 10 menit. |
|
|
SALAH |
Fase peningkatan harus dilewati. Tidak disarankan untuk melewatkan fase apa pun kecuali membantu memperbaiki masalah. Nilai-nilai |
|
|
SALAH |
Menampilkan pesan bantuan dengan parameter bendera, subperintah, dan nilai posisi yang tersedia. |
Contoh
nodeadm upgrade 1.32 -c file://nodeConfig.yaml
nodeadm upgrade 1.32 -c file://nodeConfig.yaml --timeout 20m
menghapus nodeadm
Per nodeadm uninstall intah menghentikan dan menghapus instalasi artefak selama nodeadmnodeadm install, termasuk kubelet dan containerd. Perhatikan, perintah uninstall tidak menguras atau menghapus node hybrid Anda dari cluster Anda. Anda harus menjalankan operasi drain dan menghapus secara terpisah, lihat Hapus node hybrid untuk informasi lebih lanjut. Secara default, tidak nodeadm uninstall akan melanjutkan jika ada pod yang tersisa di node. Demikian pula, nodeadm uninstall tidak menghapus dependensi CNI atau dependensi add-on Kubernetes lain yang Anda jalankan di cluster Anda. Untuk menghapus instalasi CNI sepenuhnya dari host Anda, lihat instruksi diKonfigurasikan CNI untuk node hybrid. Jika Anda menggunakan aktivasi hibrida AWS SSM sebagai penyedia kredentif lokal, nodeadm uninstall perintah akan membatalkan pendaftaran host Anda sebagai instans yang dikelola SSM. AWS
Penggunaan
nodeadm uninstall [flags]
Bendera
| Nama | Diperlukan | Deskripsi |
|---|---|---|
|
|
SALAH |
Fase uninstall harus dilewati. Tidak disarankan untuk melewatkan salah satu fase kecuali membantu memperbaiki masalah. Nilai-nilai |
|
|
SALAH |
Menampilkan pesan bantuan dengan parameter bendera, subperintah, dan nilai posisi yang tersedia. |
|
|
SALAH |
Paksa hapus direktori tambahan yang mungkin berisi file yang tersisa dari komponen Kubernetes dan CNI. PERINGATAN Ini akan menghapus semua konten di direktori Kubernetes dan CNI default ( Mulai dari nodeadm Tips penanganan yang aman - Menghapus jalur yang dipasang dapat menyebabkan penghapusan sistem file node yang dipasang secara tidak disengaja. Sebelum menghapus |
Contoh
nodeadm uninstall
nodeadm uninstall --skip node-validation,pod-validation
debug nodeadm
Per nodeadm debug intah ini dapat digunakan untuk memecahkan masalah node hybrid yang tidak sehat atau salah konfigurasi. Ini memvalidasi persyaratan berikut ada di tempat.
-
Node memiliki akses jaringan ke AWS API yang diperlukan untuk mendapatkan kredenSIAL,
-
Node dapat mendapatkan AWS kredenSIAL untuk peran IAM Nodes Hibrid yang dikonfigurasi,
-
Node memiliki akses jaringan ke titik akhir EKS Kubernetes API dan validitas sertifikat titik akhir EKS Kubernetes API,
-
Node dapat mengotentikasi dengan cluster EKS, identitasnya di cluster valid, dan node memiliki akses ke cluster EKS melalui VPC yang dikonfigurasi untuk cluster EKS.
Jika kesalahan ditemukan, output perintah menyarankan langkah-langkah pemecahan masalah. Langkah-langkah validasi tertentu menunjukkan proses anak. Jika ini gagal, output ditampilkan di bagian stderr di bawah kesalahan validasi.
Penggunaan
nodeadm debug [flags]
Bendera
| Nama | Diperlukan | Deskripsi |
|---|---|---|
|
|
BETUL |
Sumber |
|
|
SALAH |
Menonaktifkan output warna. Berguna untuk otomatisasi. |
|
|
SALAH |
Menampilkan pesan bantuan dengan parameter bendera, subperintah, dan nilai posisi yang tersedia. |
Contoh
nodeadm debug -c file://nodeConfig.yaml
Lokasi file Nodeadm
menginstal nodeadm
Saat menjalankannodeadm install, file dan lokasi file berikut dikonfigurasi.
| Artefak | Jalur |
|---|---|
|
Peran IAM Anywhere CLI |
/usr/local/bin/aws_signing_helper |
|
Kubelet biner |
/usr/bin/kubbelet |
|
Kubectl biner |
usr/local/bin/kubectl |
|
Penyedia KredenSIAL ECR |
/etc/eks/imag provider/ecr e-credential- -penyedia kredensi |
|
AWS Otentikator IAM |
/usr/local/bin/aws-pengautentikasi iam |
|
CLI Pengaturan SSM |
/opt/ssm/ssm-setup-cli |
|
SSM Agent |
Di Ubuntu -/snap/amazon-ssm- /amazon-ssm-agent agent/current Pada RHEL & AL2023 - /amazon-ssm-agent usr/bin |
|
Containerd |
Di Ubuntu & AL2023 - /containerd usr/bin Di RHEL -/bin/containerd |
|
Iptables |
Di Ubuntu & AL2023 - /iptables usr/sbin Di RHEL -/sbin/iptables |
|
Plugin CNI |
/opt/cni/tempat sampah |
|
pelacak artefak yang diinstal |
/opt/nodeadm/pelacak |
Nodeadm Init
Saat menjalankannodeadm init, file dan lokasi file berikut dikonfigurasi.
| Nama | Jalur |
|---|---|
|
Kubelet kubik figur |
/var/lib/kubelet/kubeconfig |
|
Konfigurasi Kubelet |
etc/kubernetes//kubelet/config.json |
|
Satuan sistem Kubelet |
/etc/systemd/system/kubelet.layanan |
|
Konfigurasi penyedia kredenSIAL gambar |
/etc/eks/gambar-kredensial--.json provider/config |
|
Berkas env Kubelet |
/etc/eks/kubelet/environment |
|
Sertifikat Kubelet |
/etc/kubernetes/pki/ca.crt |
|
Konfigurasi kontainer |
/etc/containerd/config.toml |
|
Konfigurasi modul kernel kontainer |
/etc/modules-muat. d/containerd.conf |
|
AWS berkas konfigurasi |
/etc/aws/hybrid/config |
|
AWS file kredenSIAL (jika mengaktifkan file kredenSIAL) |
/eks-hibrida/. aws/credentials |
|
AWS unit sistem pembantu penandatanganan |
/etc/systemd/system/aws_signing_helper_update.layanan |
|
Berkas conf Sysctl |
/etc/sysctl. d/99-nodeadm.conf |
|
Ca-certificates |
/etc/ssl/certs/ca-sertifikat.crt |
|
File kunci Gpg |
/etc/apt/keyrings/docker.asc |
|
File sumber repo Docker |
/etc/apt/sources.list. d/docker.daftar |
Konfigurasi Node untuk aktivasi hibrida SSM
Berikut ini adalah contoh nodeConfig.yaml saat menggunakan aktivasi hibrida AWS SSM untuk kredenSIAL node hibrida.
apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: # Name of the EKS cluster region: # AWS Region where the EKS cluster resides hybrid: ssm: activationCode: # SSM hybrid activation code activationId: # SSM hybrid activation id
Konfigurasi Node untuk Peran IAM Di Mana Saja
Berikut ini adalah contoh nodeConfig.yaml untuk AWS IAM Roles Anywhere untuk kredenSIAL node hibrida.
Saat menggunakan AWS IAM Roles Anywhere sebagai penyedia kredenSIAL lokal, yang nodeName Anda gunakan dalam nodeadm konfigurasi harus selaras dengan izin yang Anda cakupkan untuk peran IAM Node Hibrid Anda. Misalnya, jika izin Anda untuk peran Hybrid Nodes IAM hanya mengizinkan AWS IAM Roles Anywhere untuk mengambil peran ketika nama sesi peran sama dengan CN sertifikat host, maka nodeName dalam nodeadm konfigurasi Anda harus sama dengan CN sertifikat Anda. nodeNameYang Anda gunakan tidak boleh lebih dari 64 karakter. Untuk informasi selengkapnya, lihat Siapkan kredenSIAL untuk node hibrida.
apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: # Name of the EKS cluster region: # AWS Region where the EKS cluster resides hybrid: iamRolesAnywhere: nodeName: # Name of the node trustAnchorArn: # ARN of the IAM Roles Anywhere trust anchor profileArn: # ARN of the IAM Roles Anywhere profile roleArn: # ARN of the Hybrid Nodes IAM role certificatePath: # Path to the certificate file to authenticate with the IAM Roles Anywhere trust anchor privateKeyPath: # Path to the private key file for the certificate
Konfigurasi Node untuk menyesuaikan kubelet (Opsional)
Anda dapat meneruskan konfigurasi kubelet dan flag dalam konfigurasi Andanodeadm. Lihat contoh berikut untuk cara menambahkan label node tambahan abc.example.com/test-label dan mengatur konfigurasi kubelet shutdownGracePeriod ke 30 detik. Untuk informasi selengkapnya tentang opsi konfigurasi kubelet, lihat referensi Konfigurasi Kubelet (v1beta1) dalam dokumentasi Kubernetes.
apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: # Name of the EKS cluster region: # AWS Region where the EKS cluster resides kubelet: config: # Map of kubelet config and values shutdownGracePeriod: 30s flags: # List of kubelet flags - --node-labels=abc.example.com/test-label=true hybrid: ssm: activationCode: # SSM hybrid activation code activationId: # SSM hybrid activation id
Konfigurasi Node untuk menyesuaikan containerd (Opsional)
Anda dapat meneruskan konfigurasi containerd khusus dalam konfigurasi Andanodeadm. Konfigurasi containerd untuk nodeadm menerima TOML in-line. Lihat contoh di bawah ini untuk cara mengonfigurasi containerd untuk menonaktifkan penghapusan lapisan gambar yang belum dibongkar di penyimpanan konten containerd.
apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: # Name of the EKS cluster region: # AWS Region where the EKS cluster resides containerd: config: | # Inline TOML containerd additional configuration [plugins."io.containerd.grpc.v1.cri".containerd] discard_unpacked_layers = false hybrid: ssm: activationCode: # SSM hybrid activation code activationId: # SSM hybrid activation id
catatan
Containerd versi 1.x dan 2.x menggunakan format konfigurasi yang berbeda. Containerd 1.x menggunakan konfigurasi versi 2, sedangkan containerd 2.x menggunakan konfigurasi versi 3. Meskipun containerd 2.x tetap kompatibel ke belakang dengan konfigurasi versi 2, konfigurasi versi 3 direkomendasikan untuk kinerja optimal. Periksa versi containerd Anda dengan containerd --version atau tinjau log nodeadm instalasi. Untuk detail lebih lanjut tentang pembuatan versi konfigurasi, lihat https://containerd.io/releases/
Anda juga dapat menggunakan konfigurasi containerd untuk mengaktifkan dukungan SELinux. Dengan SELinux diaktifkan pada containerd, pastikan pod yang dijadwalkan pada node memiliki SecurityContext dan se yang tepat diaktifkan. LinuxOptions Informasi lebih lanjut tentang mengkonfigurasi konteks keamanan dapat ditemukan di dokumentasi Kubernetes.
catatan
Red Hat Enterprise Linux (RHEL) 8 dan RHEL 9 mengaktifkan SELinux secara default dan diatur ke ketat pada host. Amazon Linux 2023 mengaktifkan SELinux secara default dan diatur ke mode permisif. Ketika SELinux diatur ke mode permisif pada host, mengaktifkannya di containerd tidak akan memblokir permintaan tetapi akan mencatatnya sesuai dengan konfigurasi SELinux pada host.
apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: # Name of the EKS cluster region: # AWS Region where the EKS cluster resides containerd: config: | # Inline TOML containerd additional configuration [plugins."io.containerd.grpc.v1.cri"] enable_selinux = true hybrid: ssm: activationCode: # SSM hybrid activation code activationId: # SSM hybrid activation id