

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

# Menerapkan node Mode Otomatis EKS ke Local Zones
<a name="auto-local-zone"></a>

Mode Otomatis EKS menyediakan manajemen cluster yang disederhanakan dengan penyediaan node otomatis. AWS Local Zones memperluas AWS infrastruktur ke lokasi geografis yang lebih dekat dengan pengguna akhir Anda, mengurangi latensi untuk aplikasi yang sensitif terhadap latensi. Panduan ini memandu Anda melalui proses penerapan node Mode Otomatis EKS ke AWS Local Zones, memungkinkan Anda menjalankan aplikasi kontainer dengan latensi yang lebih rendah untuk pengguna di area geografis tertentu.

Panduan ini juga menunjukkan cara menggunakan taint dan toleransi Kubernetes untuk memastikan bahwa hanya beban kerja tertentu yang berjalan di node Zona Lokal Anda, membantu Anda mengontrol biaya dan mengoptimalkan penggunaan sumber daya.

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

Sebelum Anda mulai menerapkan node Mode Otomatis EKS ke Local Zones, pastikan Anda memiliki prasyarat berikut:
+  [Kluster Mode Otomatis EKS yang ada](create-auto.md) 
+  [Memilih untuk masuk ke zona lokal di akun Anda AWS](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html#getting-started-find-local-zone) 

## Langkah 1: Buat Subnet Zona Lokal
<a name="_step_1_create_local_zone_subnet"></a>

Langkah pertama dalam menerapkan node Mode Otomatis EKS ke Zona Lokal adalah membuat subnet di Zona Lokal itu. Subnet ini menyediakan infrastruktur jaringan untuk node Anda dan memungkinkan mereka untuk berkomunikasi dengan seluruh VPC Anda. Ikuti instruksi [subnet Buat Zona Lokal](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html#getting-started-create-local-zone-subnet) (dalam Panduan Pengguna AWS Local Zones) untuk membuat subnet di Zona Lokal pilihan Anda.

**Tip**  
Catat nama subnet zona lokal Anda.

## Langkah 2: Buat NodeClass untuk Subnet Zona Lokal
<a name="_step_2_create_nodeclass_for_local_zone_subnet"></a>

Setelah membuat subnet Zona Lokal Anda, Anda perlu menentukan NodeClass yang mereferensikan subnet ini. NodeClass Ini adalah sumber daya kustom Kubernetes yang menentukan atribut infrastruktur untuk node Anda, termasuk subnet, grup keamanan, dan konfigurasi penyimpanan mana yang akan digunakan. Dalam contoh di bawah ini, kita membuat NodeClass disebut “local-zone” yang menargetkan subnet zona lokal berdasarkan namanya. Anda juga dapat menggunakan subnet ID. Anda harus menyesuaikan konfigurasi ini untuk menargetkan subnet Zona Lokal Anda.

Untuk informasi selengkapnya, lihat [Buat Kelas Node untuk Amazon EKS](create-node-class.md).

```
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
  name: local-zone
spec:
  subnetSelectorTerms:
    - id: <local-subnet-id>
```

## Langkah 3: Buat NodePool dengan NodeClass dan Taint
<a name="_step_3_create_nodepool_with_nodeclass_and_taint"></a>

Dengan NodeClass konfigurasi Anda, Anda sekarang perlu membuat NodePool yang menggunakan ini NodeClass. A NodePool mendefinisikan karakteristik komputasi node Anda, termasuk tipe instance. NodePool Menggunakan NodeClass sebagai referensi untuk menentukan di mana untuk meluncurkan instance.

Dalam contoh di bawah ini, kami membuat referensi NodePool yang merujuk “zona lokal” kami. NodeClass Kami juga menambahkan taint ke node untuk memastikan bahwa hanya pod dengan toleransi yang cocok yang dapat dijadwalkan pada node Local Zone ini. Ini sangat penting untuk node Zona Lokal, yang biasanya memiliki biaya lebih tinggi dan hanya boleh digunakan oleh beban kerja yang secara khusus mendapat manfaat dari pengurangan latensi.

Untuk informasi selengkapnya, lihat [Buat Node Pool untuk Mode Otomatis EKS](create-node-pool.md).

```
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: my-node-pool
spec:
  template:
    metadata:
      labels:
        node-type: local-zone
    spec:
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: local-zone
      taints:
        - key: "aws.amazon.com/local-zone"
          value: "true"
          effect: NoSchedule

      requirements:
        - key: "eks.amazonaws.com/instance-category"
          operator: In
          values: ["c", "m", "r"]
        - key: "eks.amazonaws.com/instance-cpu"
          operator: In
          values: ["4", "8", "16", "32"]
```

Taint dengan kunci `aws.amazon.com/local-zone` dan efek `NoSchedule` memastikan bahwa pod tanpa toleransi yang cocok tidak akan dijadwalkan pada node ini. Ini mencegah beban kerja reguler berjalan secara tidak sengaja di Zona Lokal, yang dapat menyebabkan biaya yang tidak terduga.

## Langkah 4: Terapkan Beban Kerja dengan Tolerasi dan Afinitas Node
<a name="_step_4_deploy_workloads_with_toleration_and_node_affinity"></a>

Untuk kontrol optimal atas penempatan beban kerja pada node Local Zone, gunakan keduanya taints/tolerations dan afinitas node bersama-sama. Pendekatan gabungan ini memberikan manfaat sebagai berikut:

1.  **Pengendalian Biaya**: Taint memastikan bahwa hanya pod dengan toleransi eksplisit yang dapat menggunakan sumber daya Zona Lokal yang berpotensi mahal.

1.  **Penempatan Terjamin**: Afinitas node memastikan bahwa aplikasi sensitif latensi Anda berjalan secara eksklusif di Zona Lokal, bukan pada node cluster biasa.

Berikut adalah contoh Deployment yang dikonfigurasi untuk dijalankan secara khusus pada node Local Zone:

```
apiVersion: apps/v1
kind: Deployment
metadata:
  name: low-latency-app
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: low-latency-app
  template:
    metadata:
      labels:
        app: low-latency-app
    spec:
      tolerations:
      - key: "aws.amazon.com/local-zone"
        operator: "Equal"
        value: "true"
        effect: "NoSchedule"
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: "node-type"
                operator: "In"
                values: ["local-zone"]
      containers:
      - name: application
        image: my-low-latency-app:latest
        resources:
          limits:
            cpu: "1"
            memory: "1Gi"
          requests:
            cpu: "500m"
            memory: "512Mi"
```

Deployment ini memiliki dua konfigurasi penjadwalan utama:

1. **Toleransi** memungkinkan pod dijadwalkan pada node dengan `aws.amazon.com/local-zone` taint.

1. Persyaratan **afinitas node** memastikan pod ini hanya akan berjalan pada node dengan label`node-type: local-zone`.

Bersama-sama, ini memastikan bahwa aplikasi sensitif latensi Anda hanya berjalan pada node Zona Lokal, dan aplikasi reguler tidak menggunakan sumber daya Zona Lokal kecuali secara eksplisit dikonfigurasi untuk melakukannya.

## Langkah 5: Verifikasi dengan AWS Konsol
<a name="step_5_verify_with_shared_aws_console"></a>

Setelah menyiapkan NodeClass, NodePool, dan Deployment, Anda harus memverifikasi bahwa node sedang disediakan di Zona Lokal Anda seperti yang diharapkan dan bahwa beban kerja Anda berjalan pada mereka. Anda dapat menggunakan AWS Management Console untuk memverifikasi bahwa EC2 instance sedang diluncurkan di subnet Zona Lokal yang benar.

Selain itu, Anda dapat memeriksa daftar node Kubernetes menggunakan `kubectl get nodes -o wide` untuk mengonfirmasi bahwa node bergabung dengan cluster Anda dengan label dan taint yang benar:

```
kubectl get nodes -o wide
kubectl describe node <node-name> | grep -A 5 Taints
```

Anda juga dapat memverifikasi bahwa Pod beban kerja Anda dijadwalkan pada node Zona Lokal:

```
kubectl get pods -o wide
```

Pendekatan ini memastikan bahwa hanya beban kerja yang secara khusus mentolerir noda Zona Lokal yang akan dijadwalkan pada node ini, membantu Anda mengontrol biaya dan memanfaatkan sumber daya Zona Lokal Anda dengan seefisien mungkin.