

 **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.

# Jalankan beban kerja lokal pada node hibrid
<a name="hybrid-nodes-tutorial"></a>

Di kluster EKS dengan node hibrid yang diaktifkan, Anda dapat menjalankan aplikasi lokal dan edge di infrastruktur Anda sendiri dengan kluster, fitur, dan alat Amazon EKS yang sama yang Anda gunakan di AWS Cloud.

Bagian berikut berisi step-by-step instruksi untuk menggunakan node hybrid.

**Topics**
+ [Connect node hybrid](hybrid-nodes-join.md)
+ [Hubungkan node hybrid dengan Bottlerocket](hybrid-nodes-bottlerocket.md)
+ [Tingkatkan node hibrida](hybrid-nodes-upgrade.md)
+ [Patch node hibrida](hybrid-nodes-security.md)
+ [Hapus node hybrid](hybrid-nodes-remove.md)

# Connect node hybrid
<a name="hybrid-nodes-join"></a>

**catatan**  
Langkah-langkah berikut berlaku untuk node hybrid yang menjalankan sistem operasi yang kompatibel kecuali Bottlerocket. Untuk langkah-langkah untuk menghubungkan node hybrid yang menjalankan Bottlerocket, lihat. [Hubungkan node hybrid dengan Bottlerocket](hybrid-nodes-bottlerocket.md)

Topik ini menjelaskan cara menghubungkan node hybrid ke cluster Amazon EKS. Setelah node hybrid Anda bergabung dengan cluster, mereka akan muncul dengan status Not Ready di konsol Amazon EKS dan di tooling yang kompatibel dengan Kubernetes seperti kubectl. Setelah menyelesaikan langkah-langkah di halaman ini, lanjutkan [Konfigurasikan CNI untuk node hybrid](hybrid-nodes-cni.md) untuk membuat node hibrida Anda siap untuk menjalankan aplikasi.

## Prasyarat
<a name="_prerequisites"></a>

Sebelum menghubungkan node hybrid ke cluster Amazon EKS Anda, pastikan Anda telah menyelesaikan langkah-langkah prasyarat.
+ Anda memiliki konektivitas jaringan dari lingkungan lokal ke AWS Wilayah yang menghosting kluster Amazon EKS Anda. Untuk informasi selengkapnya, lihat [Mempersiapkan jaringan untuk node hybrid](hybrid-nodes-networking.md).
+ Anda memiliki sistem operasi yang kompatibel untuk node hibrid yang diinstal pada host lokal Anda. Untuk informasi selengkapnya, lihat [Siapkan sistem operasi untuk node hybrid](hybrid-nodes-os.md).
+ Anda telah membuat peran IAM Hybrid Nodes dan menyiapkan penyedia kredensi lokal (aktivasi hybrid AWS Systems Manager atau AWS IAM Roles Anywhere). Untuk informasi selengkapnya, lihat [Siapkan kredensil untuk node hybrid](hybrid-nodes-creds.md).
+ Anda telah membuat cluster Amazon EKS yang mendukung node hybrid Anda. Untuk informasi selengkapnya, lihat [Buat klaster Amazon EKS dengan node hybrid](hybrid-nodes-cluster-create.md).
+ Anda telah mengaitkan peran IAM Hybrid Nodes Anda dengan izin Kubernetes Role-Based Access Control (RBAC). Untuk informasi selengkapnya, lihat [Mempersiapkan akses cluster untuk node hybrid](hybrid-nodes-cluster-prep.md).

## Langkah 1: Instal node hybrid CLI (`nodeadm`) di setiap host lokal
<a name="_step_1_install_the_hybrid_nodes_cli_nodeadm_on_each_on_premises_host"></a>

Jika Anda menyertakan Amazon EKS Hybrid Nodes CLI (`nodeadm`) dalam gambar sistem operasi pra-bangun Anda, Anda dapat melewati langkah ini. Untuk informasi lebih lanjut tentang versi node hibrida`nodeadm`, lihat[`nodeadm`Referensi node hibrida](hybrid-nodes-nodeadm.md).

Versi node hibrida di-host di Amazon S3 yang digawangi oleh Amazon. `nodeadm` CloudFront Untuk menginstal `nodeadm` di setiap host lokal, Anda dapat menjalankan perintah berikut dari host lokal Anda.

 **Untuk host x86\$164:** 

```
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
```

## Langkah 2: Instal dependensi node hybrid dengan `nodeadm`
<a name="_step_2_install_the_hybrid_nodes_dependencies_with_nodeadm"></a>

Jika Anda menginstal dependensi node hybrid dalam gambar sistem operasi pra-bangun, Anda dapat melewati langkah ini. `nodeadm install`Perintah ini dapat digunakan untuk menginstal semua dependensi yang diperlukan untuk node hybrid. Dependensi node hybrid mencakup komponen containerd, kubelet, kubectl, dan SSM atau IAM Roles Anywhere. AWS AWS Lihat [`nodeadm`Referensi node hibrida](hybrid-nodes-nodeadm.md) untuk informasi selengkapnya tentang komponen dan lokasi file yang diinstal oleh`nodeadm install`. Lihat node hibrid [Mempersiapkan jaringan untuk node hybrid](hybrid-nodes-networking.md) untuk informasi selengkapnya tentang domain yang harus diizinkan di firewall lokal untuk proses tersebut`nodeadm install`.

Jalankan perintah di bawah ini untuk menginstal dependensi node hybrid pada host lokal Anda. Perintah di bawah ini harus dijalankan dengan pengguna yang memiliki sudo/root akses pada host Anda.

**penting**  
Node hybrid CLI (`nodeadm`) harus dijalankan dengan pengguna yang memiliki sudo/root akses pada host Anda.
+ Ganti `K8S_VERSION` dengan versi minor Kubernetes dari cluster Amazon EKS Anda, misalnya. `1.31` Lihat versi yang [didukung Amazon EKS untuk daftar versi](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html) Kubernetes yang didukung.
+ Ganti `CREDS_PROVIDER` dengan penyedia kredensi lokal yang Anda gunakan. Nilai yang valid adalah `ssm` untuk AWS SSM dan `iam-ra` untuk Peran AWS IAM Di Mana Saja.

```
nodeadm install K8S_VERSION --credential-provider CREDS_PROVIDER
```

## Langkah 3: Hubungkan node hybrid ke cluster Anda
<a name="_step_3_connect_hybrid_nodes_to_your_cluster"></a>

Sebelum menghubungkan node hibrid ke klaster, pastikan Anda telah mengizinkan akses yang diperlukan di firewall lokal dan di grup keamanan untuk klaster Anda untuk komunikasi node to/from hybrid bidang kontrol Amazon EKS. Sebagian besar masalah pada langkah ini terkait dengan konfigurasi firewall, konfigurasi grup keamanan, atau konfigurasi peran IAM Hybrid Nodes.

**penting**  
Node hybrid CLI (`nodeadm`) harus dijalankan dengan pengguna yang memiliki sudo/root akses pada host Anda.

1. Buat `nodeConfig.yaml` file di setiap host dengan nilai untuk penerapan Anda. Untuk deskripsi lengkap tentang pengaturan konfigurasi yang tersedia, lihat[`nodeadm`Referensi node hibrida](hybrid-nodes-nodeadm.md). Jika peran IAM Hybrid Nodes Anda tidak memiliki izin untuk `eks:DescribeCluster` tindakan tersebut, Anda harus meneruskan endpoint Kubernetes API, bundel CA cluster, dan CIDR layanan IPv4 Kubernetes di bagian cluster Anda. `nodeConfig.yaml`

   1. Gunakan `nodeConfig.yaml` contoh di bawah ini jika Anda menggunakan aktivasi hibrida AWS SSM untuk penyedia kredensi lokal Anda.

      1. Ganti `CLUSTER_NAME` dengan nama klaster Anda.

      1. Ganti `AWS_REGION` dengan AWS Region hosting cluster Anda. Misalnya, `us-west-2`.

      1. Ganti `ACTIVATION_CODE` dengan kode aktivasi yang Anda terima saat membuat aktivasi hibrida AWS SSM Anda. Untuk informasi selengkapnya, lihat [Siapkan kredensil untuk node hybrid](hybrid-nodes-creds.md).

      1. Ganti `ACTIVATION_ID` dengan ID aktivasi yang Anda terima saat membuat aktivasi hibrida AWS SSM Anda. Anda dapat mengambil informasi ini dari konsol AWS Systems Manager atau dari perintah AWS `aws ssm describe-activations` CLI.

         ```
         apiVersion: node.eks.aws/v1alpha1
         kind: NodeConfig
         spec:
           cluster:
             name: CLUSTER_NAME
             region: AWS_REGION
           hybrid:
             ssm:
               activationCode: ACTIVATION_CODE
               activationId: ACTIVATION_ID
         ```

   1. Gunakan `nodeConfig.yaml` contoh di bawah ini jika Anda menggunakan AWS IAM Roles Anywhere untuk penyedia kredensi lokal Anda.

      1. Ganti `CLUSTER_NAME` dengan nama klaster Anda.

      1. Ganti `AWS_REGION` dengan AWS Region hosting cluster Anda. Misalnya, `us-west-2`.

      1. Ganti `NODE_NAME` dengan nama node Anda. Nama node harus cocok dengan CN sertifikat pada host jika Anda mengonfigurasi kebijakan kepercayaan peran IAM Hybrid Nodes Anda dengan kondisi `"sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}"` sumber daya. Yang `nodeName` Anda gunakan tidak boleh lebih dari 64 karakter.

      1. Ganti `TRUST_ANCHOR_ARN` dengan ARN dari jangkar kepercayaan yang Anda konfigurasikan dalam langkah-langkah untuk Siapkan kredensil untuk node hibrida.

      1. Ganti `PROFILE_ARN` dengan ARN dari jangkar kepercayaan yang Anda konfigurasikan dalam langkah-langkahnya. [Siapkan kredensil untuk node hybrid](hybrid-nodes-creds.md)

      1. Ganti `ROLE_ARN` dengan ARN peran IAM Hybrid Nodes Anda.

      1. Ganti `CERTIFICATE_PATH` dengan path di disk ke sertifikat node Anda. Jika Anda tidak menentukannya, defaultnya adalah`/etc/iam/pki/server.pem`.

      1. Ganti `KEY_PATH` dengan jalur di disk ke kunci pribadi sertifikat Anda. Jika Anda tidak menentukannya, defaultnya adalah`/etc/iam/pki/server.key`.

         ```
         apiVersion: node.eks.aws/v1alpha1
         kind: NodeConfig
         spec:
           cluster:
             name: CLUSTER_NAME
             region: AWS_REGION
           hybrid:
             iamRolesAnywhere:
               nodeName: NODE_NAME
               trustAnchorArn: TRUST_ANCHOR_ARN
               profileArn: PROFILE_ARN
               roleArn: ROLE_ARN
               certificatePath: CERTIFICATE_PATH
               privateKeyPath: KEY_PATH
         ```

1. Jalankan `nodeadm init` perintah dengan Anda `nodeConfig.yaml` untuk menghubungkan node hybrid Anda ke cluster Amazon EKS Anda.

   ```
   nodeadm init -c file://nodeConfig.yaml
   ```

Jika perintah di atas berhasil diselesaikan, node hybrid Anda telah bergabung dengan cluster Amazon EKS Anda. Anda dapat memverifikasi ini di konsol Amazon EKS dengan menavigasi ke tab Compute untuk klaster Anda ([pastikan kepala sekolah IAM memiliki izin untuk](view-kubernetes-resources.md#view-kubernetes-resources-permissions) melihat) atau dengan. `kubectl get nodes`

**penting**  
Node Anda akan memiliki status`Not Ready`, yang diharapkan dan karena kurangnya CNI yang berjalan pada node hybrid Anda. Jika node Anda tidak bergabung dengan cluster, lihat[Memecahkan masalah node hybrid](hybrid-nodes-troubleshooting.md).

## Langkah 4: Konfigurasikan CNI untuk node hybrid
<a name="_step_4_configure_a_cni_for_hybrid_nodes"></a>

Untuk membuat node hybrid Anda siap menjalankan aplikasi, lanjutkan dengan langkah-langkahnya[Konfigurasikan CNI untuk node hybrid](hybrid-nodes-cni.md).

# Hubungkan node hybrid dengan Bottlerocket
<a name="hybrid-nodes-bottlerocket"></a>

Topik ini menjelaskan cara menghubungkan node hybrid yang menjalankan Bottlerocket ke cluster Amazon EKS. [Bottlerocket](https://aws.amazon.com/bottlerocket/) adalah distribusi Linux open source yang disponsori dan didukung oleh. AWS Bottlerocket dibuat khusus untuk menampung beban kerja kontainer. Dengan Bottlerocket, Anda dapat meningkatkan ketersediaan penerapan kontainer dan mengurangi biaya operasional dengan mengotomatiskan pembaruan infrastruktur kontainer Anda. Bottlerocket hanya mencakup perangkat lunak penting untuk menjalankan kontainer, yang meningkatkan penggunaan sumber daya, mengurangi ancaman keamanan, dan menurunkan overhead manajemen.

Hanya VMware varian Bottlerocket versi v1.37.0 ke atas yang didukung dengan EKS Hybrid Nodes. VMware varian dari Bottlerocket tersedia untuk Kubernetes versi v1.28 dan di atasnya. Gambar OS untuk varian ini termasuk kubelet, containerd, aws-iam-authenticator dan prasyarat perangkat lunak lainnya untuk EKS Hybrid Nodes. Anda dapat mengonfigurasi komponen ini menggunakan file [pengaturan](https://github.com/bottlerocket-os/bottlerocket#settings) Bottlerocket yang menyertakan data pengguna yang dikodekan base64 untuk bootstrap Bottlerocket dan wadah admin. Mengkonfigurasi pengaturan ini memungkinkan Bottlerocket untuk menggunakan penyedia kredensi node hybrid Anda untuk mengautentikasi node hybrid ke cluster Anda. Setelah node hibrid Anda bergabung dengan cluster, mereka akan muncul dengan status `Not Ready` di konsol Amazon EKS dan di perkakas yang kompatibel dengan Kubernetes seperti. `kubectl` Setelah menyelesaikan langkah-langkah di halaman ini, lanjutkan [Konfigurasikan CNI untuk node hybrid](hybrid-nodes-cni.md) untuk membuat node hibrida Anda siap untuk menjalankan aplikasi.

## Prasyarat
<a name="_prerequisites"></a>

Sebelum menghubungkan node hybrid ke cluster Amazon EKS Anda, pastikan Anda telah menyelesaikan langkah-langkah prasyarat.
+ Anda memiliki konektivitas jaringan dari lingkungan lokal ke AWS Wilayah yang menghosting kluster Amazon EKS Anda. Untuk informasi selengkapnya, lihat [Mempersiapkan jaringan untuk node hybrid](hybrid-nodes-networking.md).
+ Anda telah membuat peran IAM Hybrid Nodes dan menyiapkan penyedia kredensi lokal (aktivasi hybrid AWS Systems Manager atau AWS IAM Roles Anywhere). Untuk informasi selengkapnya, lihat [Siapkan kredensil untuk node hybrid](hybrid-nodes-creds.md).
+ Anda telah membuat cluster Amazon EKS yang mendukung node hybrid Anda. Untuk informasi selengkapnya, lihat [Buat klaster Amazon EKS dengan node hybrid](hybrid-nodes-cluster-create.md).
+ Anda telah mengaitkan peran IAM Hybrid Nodes Anda dengan izin Kubernetes Role-Based Access Control (RBAC). Untuk informasi selengkapnya, lihat [Mempersiapkan akses cluster untuk node hybrid](hybrid-nodes-cluster-prep.md).

## Langkah 1: Buat file TOMM pengaturan Bottlerocket
<a name="_step_1_create_the_bottlerocket_settings_toml_file"></a>

Untuk mengkonfigurasi Bottlerocket untuk node hybrid, Anda perlu membuat `settings.toml` file dengan konfigurasi yang diperlukan. Isi file TOMM akan berbeda berdasarkan penyedia kredensi yang Anda gunakan (Peran SSM atau IAM Di Mana Saja). File ini akan diteruskan sebagai data pengguna saat menyediakan instance Bottlerocket.

**catatan**  
File TOMM yang disediakan di bawah ini hanya mewakili pengaturan minimum yang diperlukan untuk menginisialisasi VMWare mesin Bottlerocket sebagai simpul pada cluster EKS. [Bottlerocket menyediakan berbagai pengaturan untuk mengatasi beberapa kasus penggunaan yang berbeda, jadi untuk opsi konfigurasi lebih lanjut di luar inisialisasi node hibrida, silakan lihat dokumentasi Bottlerocket untuk daftar lengkap semua pengaturan yang [didokumentasikan untuk versi Bottlerocket](https://bottlerocket.dev/en) yang Anda gunakan (misalnya, di sini adalah semua pengaturan yang tersedia untuk Bottlerocket 1.51.x).](https://bottlerocket.dev/en/os/1.51.x/api/settings-index)

### SSM
<a name="_ssm"></a>

Jika Anda menggunakan AWS Systems Manager sebagai penyedia kredensi Anda, buat `settings.toml` file dengan konten berikut:

```
[settings.kubernetes]
cluster-name = "<cluster-name>"
api-server = "<api-server-endpoint>"
cluster-certificate = "<cluster-certificate-authority>"
hostname-override = "<hostname>"
provider-id = "eks-hybrid:///<region>/<cluster-name>/<hostname>"
authentication-mode = "aws"
cloud-provider = ""
server-tls-bootstrap = true

[settings.network]
hostname = "<hostname>"

[settings.aws]
region = "<region>"

[settings.kubernetes.credential-providers.ecr-credential-provider]
enabled = true
cache-duration = "12h"
image-patterns = [
    "*.dkr.ecr.*.amazonaws.com",
    "*.dkr.ecr.*.amazonaws.com.rproxy.govskope.ca.cn",
    "*.dkr.ecr.*.amazonaws.eu",
    "*.dkr.ecr-fips.*.amazonaws.com",
    "*.dkr.ecr-fips.*.amazonaws.eu",
    "public.ecr.aws"
]

[settings.kubernetes.node-labels]
"eks.amazonaws.com/compute-type" = "hybrid"
"eks.amazonaws.com/hybrid-credential-provider" = "ssm"

[settings.host-containers.admin]
enabled = true
user-data = "<base64-encoded-admin-container-userdata>"

[settings.bootstrap-containers.eks-hybrid-setup]
mode = "always"
user-data = "<base64-encoded-bootstrap-container-userdata>"

[settings.host-containers.control]
enabled = true
```

Ganti placeholder dengan nilai-nilai berikut:
+  `<cluster-name>`: Nama cluster Amazon EKS Anda.
+  `<api-server-endpoint>`: Titik akhir server API cluster Anda.
+  `<cluster-certificate-authority>`: Bundel CA yang dikodekan base64 dari cluster Anda.
+  `<region>`: AWS Wilayah yang menghosting cluster Anda, misalnya “us-east-1".
+  `<hostname>`: Nama host dari instance Bottlerocket, yang juga akan dikonfigurasi sebagai nama node. Ini bisa berupa nilai unik pilihan Anda, tetapi harus mengikuti konvensi penamaan [Objek Kubernetes.](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names) Selain itu, nama host yang Anda gunakan tidak boleh lebih dari 64 karakter. CATATAN: Saat menggunakan penyedia SSM, nama host dan nama node ini akan diganti dengan ID instance terkelola (misalnya, `mi-*` ID) setelah instance terdaftar dengan SSM.
+  `<base64-encoded-admin-container-userdata>`: Konten base64 yang dikodekan dari konfigurasi kontainer admin Bottlerocket. Mengaktifkan wadah admin memungkinkan Anda terhubung ke instance Bottlerocket Anda dengan SSH untuk eksplorasi dan debugging sistem. Meskipun ini bukan pengaturan yang diperlukan, kami sarankan untuk mengaktifkannya untuk kemudahan pemecahan masalah. Lihat [dokumentasi kontainer admin Bottlerocket untuk informasi lebih lanjut tentang otentikasi dengan wadah admin](https://github.com/bottlerocket-os/bottlerocket-admin-container#authenticating-with-the-admin-container). Kontainer admin mengambil pengguna SSH dan input kunci dalam format JSON, misalnya,

```
{
  "user": "<ssh-user>",
  "ssh": {
    "authorized-keys": [
      "<ssh-authorized-key>"
    ]
  }
}
```
+  `<base64-encoded-bootstrap-container-userdata>`: Konten base64 yang dikodekan dari konfigurasi wadah bootstrap Bottlerocket. Lihat [dokumentasi wadah bootstrap Bottlerocket](https://github.com/bottlerocket-os/bottlerocket-bootstrap-container) untuk informasi lebih lanjut tentang konfigurasinya. Container bootstrap bertanggung jawab untuk mendaftarkan instance sebagai Instans Terkelola AWS SSM dan menggabungkannya sebagai node Kubernetes di Cluster Amazon EKS Anda. Data pengguna yang diteruskan ke wadah bootstrap berbentuk pemanggilan perintah yang menerima sebagai masukan kode aktivasi hibrida SSM dan ID yang sebelumnya Anda buat:

```
eks-hybrid-ssm-setup --activation-id=<activation-id> --activation-code=<activation-code> --region=<region>
```

### IAM Roles Anywhere
<a name="_iam_roles_anywhere"></a>

Jika Anda menggunakan AWS IAM Roles Anywhere sebagai penyedia kredensi Anda, buat `settings.toml` file dengan konten berikut:

```
[settings.kubernetes]
cluster-name = "<cluster-name>"
api-server = "<api-server-endpoint>"
cluster-certificate = "<cluster-certificate-authority>"
hostname-override = "<hostname>"
provider-id = "eks-hybrid:///<region>/<cluster-name>/<hostname>"
authentication-mode = "aws"
cloud-provider = ""
server-tls-bootstrap = true

[settings.network]
hostname = "<hostname>"

[settings.aws]
region = "<region>"
config = "<base64-encoded-aws-config-file>"

[settings.kubernetes.credential-providers.ecr-credential-provider]
enabled = true
cache-duration = "12h"
image-patterns = [
    "*.dkr.ecr.*.amazonaws.com",
    "*.dkr.ecr.*.amazonaws.com.rproxy.govskope.ca.cn",
    "*.dkr.ecr.*.amazonaws.eu",
    "*.dkr.ecr-fips.*.amazonaws.com",
    "*.dkr.ecr-fips.*.amazonaws.eu",
    "public.ecr.aws"
]

[settings.kubernetes.node-labels]
"eks.amazonaws.com/compute-type" = "hybrid"
"eks.amazonaws.com/hybrid-credential-provider" = "iam-ra"

[settings.host-containers.admin]
enabled = true
user-data = "<base64-encoded-admin-container-userdata>"

[settings.bootstrap-containers.eks-hybrid-setup]
mode = "always"
user-data = "<base64-encoded-bootstrap-container-userdata>"
```

Ganti placeholder dengan nilai-nilai berikut:
+  `<cluster-name>`: Nama cluster Amazon EKS Anda.
+  `<api-server-endpoint>`: Titik akhir server API cluster Anda.
+  `<cluster-certificate-authority>`: Bundel CA yang dikodekan base64 dari cluster Anda.
+  `<region>`: AWS Wilayah yang menampung klaster Anda, misalnya, “us-east-1"
+  `<hostname>`: Nama host dari instance Bottlerocket, yang juga akan dikonfigurasi sebagai nama node. Ini bisa berupa nilai unik pilihan Anda, tetapi harus mengikuti konvensi penamaan [Objek Kubernetes.](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names) Selain itu, nama host yang Anda gunakan tidak boleh lebih dari 64 karakter. CATATAN: Saat menggunakan penyedia IAM-RA, nama node harus cocok dengan CN sertifikat pada host jika Anda mengonfigurasi kebijakan kepercayaan peran IAM Hybrid Nodes Anda dengan kondisi sumber daya. `"sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}"`
+  `<base64-encoded-aws-config-file>`: Konten berkas konfigurasi Anda yang disandikan base64. AWS Isi file harus sebagai berikut:

```
[default]
credential_process = aws_signing_helper credential-process --certificate /root/.aws/node.crt --private-key /root/.aws/node.key --profile-arn <profile-arn> --role-arn <role-arn> --trust-anchor-arn <trust-anchor-arn> --role-session-name <role-session-name>
```
+  `<base64-encoded-admin-container-userdata>`: Konten base64 yang dikodekan dari konfigurasi kontainer admin Bottlerocket. Mengaktifkan wadah admin memungkinkan Anda terhubung ke instance Bottlerocket Anda dengan SSH untuk eksplorasi dan debugging sistem. Meskipun ini bukan pengaturan yang diperlukan, kami sarankan untuk mengaktifkannya untuk kemudahan pemecahan masalah. Lihat [dokumentasi kontainer admin Bottlerocket untuk informasi lebih lanjut tentang otentikasi dengan wadah admin](https://github.com/bottlerocket-os/bottlerocket-admin-container#authenticating-with-the-admin-container). Kontainer admin mengambil pengguna SSH dan input kunci dalam format JSON, misalnya,

```
{
  "user": "<ssh-user>",
  "ssh": {
    "authorized-keys": [
      "<ssh-authorized-key>"
    ]
  }
}
```
+  `<base64-encoded-bootstrap-container-userdata>`: Konten base64 yang dikodekan dari konfigurasi wadah bootstrap Bottlerocket. Lihat [dokumentasi wadah bootstrap Bottlerocket](https://github.com/bottlerocket-os/bottlerocket-bootstrap-container) untuk informasi lebih lanjut tentang konfigurasinya. Wadah bootstrap bertanggung jawab untuk membuat sertifikat host IAM Roles Anywhere dan file kunci pribadi sertifikat pada instance. Ini kemudian akan digunakan oleh `aws_signing_helper` untuk mendapatkan kredensi sementara untuk mengautentikasi dengan kluster Amazon EKS Anda. Data pengguna yang diteruskan ke dalam wadah bootstrap berbentuk pemanggilan perintah yang menerima sebagai masukan isi sertifikat dan kunci pribadi yang Anda buat sebelumnya:

```
eks-hybrid-iam-ra-setup --certificate=<certificate> --key=<private-key>
```

## Langkah 2: Menyediakan Bottlerocket vSphere VM dengan data pengguna
<a name="_step_2_provision_the_bottlerocket_vsphere_vm_with_user_data"></a>

Setelah Anda membuat file TOMM, berikan sebagai data pengguna selama pembuatan VSphere VM. Perlu diingat bahwa data pengguna harus dikonfigurasi sebelum VM dinyalakan untuk pertama kalinya. Dengan demikian, Anda harus menyediakannya saat membuat instance, atau jika Anda ingin membuat VM sebelumnya, VM harus dalam status PoweredOff sampai Anda mengonfigurasi data pengguna untuk itu. Misalnya, jika menggunakan `govc` CLI:

### Membuat VM untuk pertama kalinya
<a name="_creating_vm_for_the_first_time"></a>

```
govc vm.create \
  -on=true \
  -c=2 \
  -m=4096 \
  -net.adapter=<network-adapter> \
  -net=<network-name> \
  -e guestinfo.userdata.encoding="base64" \
  -e guestinfo.userdata="$(base64 -w0 settings.toml)" \
  -template=<template-name> \
  <vm-name>
```

### Memperbarui data pengguna untuk VM yang ada
<a name="_updating_user_data_for_an_existing_vm"></a>

```
govc vm.create \
    -on=false \
    -c=2 \
    -m=4096 \
    -net.adapter=<network-adapter> \
    -net=<network-name> \
    -template=<template-name> \
    <vm-name>

govc vm.change
    -vm <vm-name> \
    -e guestinfo.userdata="$(base64 -w0 settings.toml)" \
    -e guestinfo.userdata.encoding="base64"

govc vm.power -on <vm-name>
```

Pada bagian di atas, `-e guestinfo.userdata.encoding="base64"` opsi menentukan bahwa data pengguna dikodekan base64. `-e guestinfo.userdata`Opsi ini meneruskan konten `settings.toml` berkas yang dikodekan base64 sebagai data pengguna ke instance Bottlerocket. Ganti placeholder dengan nilai spesifik Anda, seperti template Bottlerocket OVA dan detail jaringan.

## Langkah 3: Verifikasi koneksi node hybrid
<a name="_step_3_verify_the_hybrid_node_connection"></a>

Setelah instans Bottlerocket dimulai, instans akan mencoba bergabung dengan cluster Amazon EKS Anda. Anda dapat memverifikasi koneksi di konsol Amazon EKS dengan menavigasi ke tab Compute untuk klaster Anda atau dengan menjalankan perintah berikut:

```
kubectl get nodes
```

**penting**  
Node Anda akan memiliki status`Not Ready`, yang diharapkan dan karena kurangnya CNI yang berjalan pada node hybrid Anda. Jika node Anda tidak bergabung dengan cluster, lihat[Memecahkan masalah node hybrid](hybrid-nodes-troubleshooting.md).

## Langkah 4: Konfigurasikan CNI untuk node hybrid
<a name="_step_4_configure_a_cni_for_hybrid_nodes"></a>

Untuk membuat node hybrid Anda siap menjalankan aplikasi, lanjutkan dengan langkah-langkahnya[Konfigurasikan CNI untuk node hybrid](hybrid-nodes-cni.md).

# Tingkatkan node hybrid untuk klaster Anda
<a name="hybrid-nodes-upgrade"></a>

Panduan untuk memutakhirkan node hibrida mirip dengan node Amazon EKS yang dikelola sendiri yang berjalan di Amazon. EC2 Kami menyarankan Anda 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](https://docs.aws.amazon.com/eks/latest/best-practices/cluster-upgrades.html) untuk peningkatan sebelum memulai pemutakhiran. Amazon EKS Hybrid Nodes memiliki dukungan [versi Kubernetes yang sama untuk](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html) klaster Amazon EKS dengan node cloud, termasuk dukungan standar dan diperpanjang.

Amazon EKS Hybrid Nodes mengikuti [kebijakan skew versi](https://kubernetes.io/releases/version-skew-policy/#supported-version-skew) 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 tempat`nodeadm`, ada downtime untuk node selama proses di mana versi lama dari komponen Kubernetes dimatikan dan komponen versi Kubernetes yang baru diinstal dan dimulai.

## Prasyarat
<a name="_prerequisites"></a>

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. [Pengaturan prasyarat untuk node hybrid](hybrid-nodes-prereqs.md) 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](hybrid-nodes-networking.md#hybrid-nodes-networking-on-prem) 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](hybrid-nodes-cni.md).

## Peningkatan migrasi cutover (biru-hijau)
<a name="hybrid-nodes-upgrade-cutover"></a>

 *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. Strategi ini juga disebut migrasi biru-hijau.

1. Hubungkan host baru Anda sebagai node hibrida mengikuti [Connect node hybrid](hybrid-nodes-join.md) langkah-langkahnya. Saat menjalankan `nodeadm install` perintah, gunakan versi Kubernetes target Anda.

1. 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.

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

1. Gunakan perintah berikut untuk menandai setiap node yang ingin Anda hapus sebagai tidak dapat dijadwalkan. Hal ini agar pod baru tidak dijadwalkan atau dijadwal ulang pada node yang Anda ganti. Untuk informasi selengkapnya, lihat [kubectl cordon](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_cordon/) di dokumentasi Kubernetes. Ganti `NODE_NAME` dengan nama node hybrid pada versi Kubernetes lama.

   ```
   kubectl cordon NODE_NAME
   ```

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

   ```
   K8S_VERSION=1.28
   for node in $(kubectl get nodes -o json | jq --arg K8S_VERSION "$K8S_VERSION" -r '.items[] | select(.status.nodeInfo.kubeletVersion | match("\($K8S_VERSION)")).metadata.name')
   do
       echo "Cordoning $node"
       kubectl cordon $node
   done
   ```

1. Jika penerapan Anda saat ini menjalankan kurang dari dua replika CoreDNS pada node hybrid Anda, skala penerapan menjadi setidaknya dua replika. Kami menyarankan Anda menjalankan setidaknya dua replika CoreDNS pada node hybrid untuk ketahanan selama operasi normal.

   ```
   kubectl scale deployments/coredns --replicas=2 -n kube-system
   ```

1. 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](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-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
   for node in $(kubectl get nodes -o json | jq --arg K8S_VERSION "$K8S_VERSION" -r '.items[] | select(.status.nodeInfo.kubeletVersion | match("\($K8S_VERSION)")).metadata.name')
   do
       echo "Draining $node"
       kubectl drain $node --ignore-daemonsets --delete-emptydir-data
   done
   ```

1. Anda dapat menggunakan `nodeadm` untuk menghentikan dan menghapus artefak node hybrid dari host. Anda harus menjalankan `nodeadm` dengan pengguna yang memiliki root/sudo hak istimewa. Secara default, tidak `nodeadm uninstall` akan melanjutkan jika ada pod yang tersisa di node. Untuk mengetahui informasi selengkapnya, lihat [`nodeadm`Referensi node hibrida](hybrid-nodes-nodeadm.md).

   ```
   nodeadm uninstall
   ```

1. Dengan artefak node hybrid dihentikan dan dihapus instalasinya, 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
   for node in $(kubectl get nodes -o json | jq --arg K8S_VERSION "$K8S_VERSION" -r '.items[] | select(.status.nodeInfo.kubeletVersion | match("\($K8S_VERSION)")).metadata.name')
   do
       echo "Deleting $node"
       kubectl delete node $node
   done
   ```

1. 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](hybrid-nodes-cni.md).

## Peningkatan di tempat
<a name="hybrid-nodes-upgrade-inplace"></a>

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 upgrade`Proses ini mematikan komponen Kubernetes lama yang sudah ada yang berjalan pada node hybrid, menghapus instalasi komponen Kubernetes lama yang sudah 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 menandai node yang Anda upgrade sebagai tidak dapat dijadwalkan. Hal ini agar pod baru tidak dijadwalkan atau dijadwal ulang pada node yang sedang Anda upgrade. Untuk informasi selengkapnya, lihat [kubectl cordon](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_cordon/) di dokumentasi Kubernetes. Ganti `NODE_NAME` dengan nama node hybrid yang Anda upgrade

   ```
   kubectl cordon NODE_NAME
   ```

1. Kuras node yang Anda upgrade dengan perintah berikut. Untuk informasi selengkapnya tentang menguras node, lihat [Safely Drain a Node](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) dalam dokumentasi Kubernetes. Ganti `NODE_NAME` dengan nama node hybrid yang Anda upgrade.

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

1. Jalankan `nodeadm upgrade` pada node hybrid yang Anda upgrade. Anda harus menjalankan `nodeadm` dengan pengguna yang memiliki root/sudo hak istimewa. 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 [`nodeadm`Referensi node hibrida](hybrid-nodes-nodeadm.md) untuk nilai konfigurasi untuk`nodeConfig.yaml`. Ganti `K8S_VERSION` dengan versi Kubernetes target yang Anda tingkatkan.

   ```
   nodeadm upgrade K8S_VERSION -c file://nodeConfig.yaml
   ```

1. Untuk memungkinkan pod dijadwalkan pada node setelah Anda memutakhirkan, ketik berikut ini. Ganti `NODE_NAME` dengan nama node.

   ```
   kubectl uncordon NODE_NAME
   ```

1. Perhatikan status node hybrid Anda dan tunggu node Anda dimatikan dan restart pada versi Kubernetes baru dengan status Ready.

   ```
   kubectl get nodes -o wide -w
   ```

# Pembaruan keamanan patch untuk node hybrid
<a name="hybrid-nodes-security"></a>

Topik ini menjelaskan prosedur untuk melakukan penambalan pembaruan keamanan di tempat untuk paket dan dependensi tertentu yang berjalan pada node hybrid Anda. Sebagai praktik terbaik, kami menyarankan Anda untuk memperbarui node hybrid Anda secara teratur untuk menerima CVEs dan patch keamanan.

Untuk langkah-langkah untuk meng-upgrade versi Kubernetes, lihat. [Tingkatkan node hybrid untuk klaster Anda](hybrid-nodes-upgrade.md)

Salah satu contoh perangkat lunak yang mungkin memerlukan patch keamanan adalah`containerd`.

## `Containerd`
<a name="_containerd"></a>

 `containerd`adalah runtime container Kubernetes standar dan dependensi inti untuk EKS Hybrid Nodes, yang digunakan untuk mengelola siklus hidup kontainer, termasuk menarik gambar dan mengelola eksekusi container. Pada node hybrid, Anda dapat menginstal `containerd` melalui [CLI nodeadm](https://docs.aws.amazon.com/eks/latest/userguide/hybrid-nodes-nodeadm.html) atau secara manual. Tergantung pada sistem operasi node Anda, `nodeadm` akan menginstal `containerd` dari paket OS-distributed atau paket Docker.

Ketika CVE `containerd` telah diterbitkan, Anda memiliki opsi berikut untuk meningkatkan ke versi patch `containerd` pada node Hybrid Anda.

## Langkah 1: Periksa apakah patch dipublikasikan ke manajer paket
<a name="_step_1_check_if_the_patch_published_to_package_managers"></a>

Anda dapat memeriksa apakah patch `containerd` CVE telah dipublikasikan ke masing-masing manajer paket OS dengan mengacu pada buletin keamanan yang sesuai:
+  [Amazon Linux 2023](https://alas.aws.amazon.com/alas2023.html) 
+  [RHEL](https://access.redhat.com/security/security-updates/security-advisories) 
+  [Ubuntu 20.04](https://ubuntu.com/security/notices?order=newest&release=focal) 
+  [Ubuntu 22.04](https://ubuntu.com/security/notices?order=newest&release=jammy) 
+  [Ubuntu 24.04](https://ubuntu.com/security/notices?order=newest&release=noble) 

Jika Anda menggunakan repo Docker sebagai sumbernya`containerd`, Anda dapat memeriksa [pengumuman keamanan Docker](https://docs.docker.com/security/security-announcements/) untuk mengidentifikasi ketersediaan versi yang ditambal di repo Docker.

## Langkah 2: Pilih metode untuk menginstal tambalan
<a name="_step_2_choose_the_method_to_install_the_patch"></a>

Ada tiga metode untuk menambal dan menginstal peningkatan keamanan di tempat pada node. Metode mana yang dapat Anda gunakan tergantung pada apakah tambalan tersedia dari sistem operasi di manajer paket atau tidak:

1. Instal tambalan dengan `nodeadm upgrade` yang dipublikasikan ke manajer paket, lihat [Langkah 2 a](#hybrid-nodes-security-nodeadm).

1. Instal tambalan dengan manajer paket secara langsung, lihat [Langkah 2 b](#hybrid-nodes-security-package).

1. Instal patch kustom yang tidak dipublikasikan di manajer paket. Perhatikan bahwa ada pertimbangan khusus untuk tambalan khusus untuk`containerd`, [Langkah 2 c](#hybrid-nodes-security-manual).

## Langkah 2 a: Menambal dengan `nodeadm upgrade`
<a name="hybrid-nodes-security-nodeadm"></a>

Setelah Anda mengonfirmasi bahwa tambalan `containerd` CVE telah dipublikasikan ke OS atau repo Docker (baik Apt atau RPM), Anda dapat menggunakan `nodeadm upgrade` perintah untuk meningkatkan ke versi terbaru. `containerd` Karena ini bukan upgrade versi Kubernetes, Anda harus meneruskan versi Kubernetes Anda saat ini ke perintah upgrade. `nodeadm`

```
nodeadm upgrade K8S_VERSION --config-source file:///root/nodeConfig.yaml
```

## Langkah 2 b: Menambal dengan manajer paket sistem operasi
<a name="hybrid-nodes-security-package"></a>

Atau Anda juga dapat memperbarui melalui manajer paket masing-masing dan menggunakannya untuk meningkatkan `containerd` paket sebagai berikut.

 **Amazon Linux 2023** 

```
sudo yum update -y
sudo yum install -y containerd
```

 **RHEL** 

```
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
sudo yum update -y
sudo yum install -y containerd
```

 **Ubuntu** 

```
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update -y
sudo apt install -y --only-upgrade containerd.io
```

## Langkah 2 c: Patch `Containerd` CVE tidak dipublikasikan di manajer paket
<a name="hybrid-nodes-security-manual"></a>

Jika `containerd` versi yang ditambal hanya tersedia dengan cara lain alih-alih di manajer paket, misalnya dalam GitHub rilis, maka Anda dapat menginstal `containerd` dari GitHub situs resmi.

1. Jika mesin telah bergabung dengan cluster sebagai node hybrid, maka Anda perlu menjalankan `nodeadm uninstall` perintah.

1. Instal `containerd` binari resmi. Anda dapat menggunakan langkah-langkah [langkah-langkah instalasi resmi](https://github.com/containerd/containerd/blob/main/docs/getting-started.md#option-1-from-the-official-binaries) pada GitHub.

1. Jalankan `nodeadm install` perintah dengan `--containerd-source` argumen yang disetel ke`none`, yang akan melewati `containerd` instalasi`nodeadm`. Anda dapat menggunakan nilai `none` dalam `containerd` sumber untuk sistem operasi apa pun yang sedang dijalankan oleh node.

   ```
   nodeadm install K8S_VERSION --credential-provider CREDS_PROVIDER --containerd-source none
   ```

# Hapus node hybrid
<a name="hybrid-nodes-remove"></a>

Topik ini menjelaskan cara menghapus node hybrid dari cluster Amazon EKS Anda. [Anda harus menghapus node hybrid Anda dengan alat yang kompatibel dengan Kubernetes seperti kubectl.](https://kubernetes.io/docs/reference/kubectl/) Biaya untuk node hybrid berhenti ketika objek node dihapus dari cluster Amazon EKS. Untuk informasi selengkapnya tentang harga node hibrida, lihat [Harga Amazon EKS](https://aws.amazon.com/eks/pricing/).

**penting**  
Menghapus node mengganggu beban kerja yang berjalan pada node. Sebelum menghapus node hybrid, sebaiknya Anda menguras node terlebih dahulu untuk memindahkan pod ke node aktif lainnya. Untuk informasi selengkapnya tentang menguras node, lihat [Safely Drain a Node](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) dalam dokumentasi Kubernetes.

Jalankan langkah-langkah kubectl di bawah ini dari mesin lokal atau instance yang Anda gunakan untuk berinteraksi dengan titik akhir API Kubernetes klaster Amazon EKS. Jika Anda menggunakan `kubeconfig` file tertentu, gunakan `--kubeconfig` bendera.

## Langkah 1: Daftar node Anda
<a name="_step_1_list_your_nodes"></a>

```
kubectl get nodes
```

## Langkah 2: Tiriskan node Anda
<a name="_step_2_drain_your_node"></a>

Lihat [kubectl drain](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_drain/) di dokumentasi Kubernetes untuk informasi selengkapnya tentang perintah. `kubectl drain`

```
kubectl drain --ignore-daemonsets <node-name>
```

## Langkah 3: Hentikan dan hapus instalasi artefak node hybrid
<a name="_step_3_stop_and_uninstall_hybrid_nodes_artifacts"></a>

Anda dapat menggunakan Amazon EKS Hybrid Nodes CLI (`nodeadm`) untuk menghentikan dan menghapus artefak node hybrid dari host. Anda harus menjalankan `nodeadm` dengan pengguna yang memiliki root/sudo hak istimewa. Secara default, tidak `nodeadm uninstall` akan melanjutkan jika ada pod yang tersisa di node. Jika Anda menggunakan AWS Systems Manager (SSM) sebagai penyedia kredensialnya, `nodeadm uninstall` perintah tersebut membatalkan pendaftaran host sebagai instans terkelola SSM. AWS Untuk informasi selengkapnya, lihat [`nodeadm`Referensi node hibrida](hybrid-nodes-nodeadm.md).

```
nodeadm uninstall
```

## Langkah 4: Hapus node Anda dari cluster
<a name="_step_4_delete_your_node_from_the_cluster"></a>

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

```
kubectl delete node <node-name>
```

## Langkah 5: Periksa artefak yang tersisa
<a name="_step_5_check_for_remaining_artifacts"></a>

Tergantung pada pilihan CNI Anda, mungkin ada artefak yang tersisa di node hybrid Anda setelah menjalankan langkah-langkah di atas. Lihat [Konfigurasikan CNI untuk node hybrid](hybrid-nodes-cni.md) untuk informasi selengkapnya.