

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

# Konfigurasikan proxy untuk node hybrid
<a name="hybrid-nodes-proxy"></a>

Jika Anda menggunakan server proxy di lingkungan lokal untuk lalu lintas yang meninggalkan pusat data atau lingkungan edge, Anda perlu mengonfigurasi node dan klaster secara terpisah untuk menggunakan server proxy Anda.

Klaster  
Di cluster Anda, Anda perlu mengkonfigurasi `kube-proxy` untuk menggunakan server proxy Anda. Anda harus mengonfigurasi `kube-proxy` setelah membuat cluster Amazon EKS Anda.

Simpul  
Pada node Anda, Anda harus mengkonfigurasi sistem operasi,`containerd`,`kubelet`, dan agen SSM Amazon untuk menggunakan server proxy Anda. Anda dapat membuat perubahan ini selama proses build untuk image sistem operasi Anda atau sebelum Anda menjalankan `nodeadm init` pada setiap node hybrid.

## Konfigurasi tingkat simpul
<a name="_node_level_configuration"></a>

Anda harus menerapkan konfigurasi berikut baik dalam gambar sistem operasi Anda atau sebelum berjalan `nodeadm init` pada setiap node hybrid.

### `containerd`konfigurasi proxy
<a name="_containerd_proxy_configuration"></a>

 `containerd`adalah runtime manajemen kontainer default untuk Kubernetes. Jika Anda menggunakan proxy untuk akses internet, Anda harus mengkonfigurasi `containerd` sehingga dapat menarik gambar kontainer yang diperlukan oleh Kubernetes dan Amazon EKS.

Buat file pada setiap node hybrid yang disebut `http-proxy.conf` dalam `/etc/systemd/system/containerd.service.d` direktori dengan konten berikut. Ganti `proxy-domain` dan `port` dengan nilai-nilai untuk lingkungan Anda.

```
[Service]
Environment="HTTP_PROXY=http://{{proxy-domain:port}}"
Environment="HTTPS_PROXY=http://{{proxy-domain:port}}"
Environment="NO_PROXY=localhost"
```

#### `containerd`konfigurasi dari data pengguna
<a name="_containerd_configuration_from_user_data"></a>

`containerd.service.d`Direktori harus dibuat untuk file ini. Anda perlu memuat ulang systemd untuk mengambil file konfigurasi tanpa reboot. Di AL2 023, layanan kemungkinan sudah berjalan ketika skrip Anda dijalankan, jadi Anda juga perlu memulai ulang.

```
mkdir -p /etc/systemd/system/containerd.service.d
echo '[Service]' > /etc/systemd/system/containerd.service.d/http-proxy.conf
echo 'Environment="HTTP_PROXY=http://{{proxy-domain:port}}"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf
echo 'Environment="HTTPS_PROXY=http://{{proxy-domain:port}}"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf
echo 'Environment="NO_PROXY=localhost"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf
systemctl daemon-reload
systemctl restart containerd
```

### `kubelet`konfigurasi proxy
<a name="_kubelet_proxy_configuration"></a>

 `kubelet`adalah agen node Kubernetes yang berjalan pada setiap node Kubernetes dan bertanggung jawab untuk mengelola node dan pod yang berjalan di atasnya. Jika Anda menggunakan proxy di lingkungan lokal, Anda harus mengonfigurasinya `kubelet` agar dapat berkomunikasi dengan titik akhir publik atau pribadi klaster Amazon EKS Anda.

Buat file pada setiap node hybrid yang disebut `http-proxy.conf` dalam `/etc/systemd/system/kubelet.service.d/` direktori dengan konten berikut. Ganti `proxy-domain` dan `port` dengan nilai-nilai untuk lingkungan Anda.

```
[Service]
Environment="HTTP_PROXY=http://{{proxy-domain:port}}"
Environment="HTTPS_PROXY=http://{{proxy-domain:port}}"
Environment="NO_PROXY=localhost"
```

#### `kubelet`konfigurasi dari data pengguna
<a name="_kubelet_configuration_from_user_data"></a>

`kubelet.service.d`Direktori harus dibuat untuk file ini. Anda perlu memuat ulang systemd untuk mengambil file konfigurasi tanpa reboot. Di AL2 023, layanan kemungkinan sudah berjalan ketika skrip Anda dijalankan, jadi Anda juga perlu memulai ulang.

```
mkdir -p /etc/systemd/system/kubelet.service.d
echo '[Service]' > /etc/systemd/system/kubelet.service.d/http-proxy.conf
echo 'Environment="HTTP_PROXY=http://{{proxy-domain:port}}"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf
echo 'Environment="HTTPS_PROXY=http://{{proxy-domain:port}}"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf
echo 'Environment="NO_PROXY=localhost"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf
systemctl daemon-reload
systemctl restart kubelet
```

### `ssm`konfigurasi proxy
<a name="_ssm_proxy_configuration"></a>

 `ssm`adalah salah satu penyedia kredensi yang dapat digunakan untuk menginisialisasi node hybrid. `ssm`bertanggung jawab untuk mengautentikasi dengan AWS dan menghasilkan kredensi sementara yang digunakan oleh. `kubelet` Jika Anda menggunakan proxy di lingkungan lokal dan menggunakan `ssm` sebagai penyedia kredensi di node, Anda harus mengonfigurasinya `ssm` agar dapat berkomunikasi dengan titik akhir layanan Amazon SSM.

Buat file pada setiap node hybrid yang disebut `http-proxy.conf` di jalur di bawah ini tergantung pada sistem operasi
+ Ubuntu - `/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/http-proxy.conf` 
+ Amazon Linux 2023 dan Red Hat Enterprise Linux - `/etc/systemd/system/amazon-ssm-agent.service.d/http-proxy.conf` 

Isi file dengan konten berikut. Ganti `proxy-domain` dan `port` dengan nilai-nilai untuk lingkungan Anda.

```
[Service]
Environment="HTTP_PROXY=http://{{proxy-domain:port}}"
Environment="HTTPS_PROXY=http://{{proxy-domain:port}}"
Environment="NO_PROXY=localhost"
```

#### `ssm`konfigurasi dari data pengguna
<a name="_ssm_configuration_from_user_data"></a>

Direktori file layanan `ssm` systemd harus dibuat untuk file ini. Jalur direktori tergantung pada sistem operasi yang digunakan pada node.
+ Ubuntu - `/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d` 
+ Amazon Linux 2023 dan Red Hat Enterprise Linux - `/etc/systemd/system/amazon-ssm-agent.service.d` 

Ganti nama layanan systemd dalam perintah restart di bawah ini tergantung pada sistem operasi yang digunakan pada node
+ Ubuntu - `snap.amazon-ssm-agent.amazon-ssm-agent` 
+ Amazon Linux 2023 dan Red Hat Enterprise Linux - `amazon-ssm-agent` 

```
mkdir -p {{systemd-service-file-directory
echo '[Service]' > [.replaceable]#systemd-service-file-directory/http-proxy.conf
echo 'Environment="HTTP_PROXY=http://[.replaceable]#proxy-domain:port}}"' >> {{systemd-service-file-directory/http-proxy.conf
echo 'Environment="HTTPS_PROXY=http://[.replaceable]#proxy-domain:port}}"' >> [.replaceable]#systemd-service-file-directory/http-proxy.conf
echo 'Environment="NO_PROXY=localhost"' >> [.replaceable]#systemd-service-file-directory/http-proxy.conf
systemctl daemon-reload
systemctl restart [.replaceable]#systemd-service-name
```

### Konfigurasi proxy sistem operasi
<a name="_operating_system_proxy_configuration"></a>

Jika Anda menggunakan proxy untuk akses internet, Anda harus mengkonfigurasi sistem operasi Anda untuk dapat menarik dependensi node hybrid dari manajer paket sistem operasi Anda.

 **Ubuntu** 

1. Konfigurasikan `snap` untuk menggunakan proxy Anda dengan perintah berikut:

   ```
   sudo snap set system proxy.https=http://{{proxy-domain:port}}
   sudo snap set system proxy.http=http://{{proxy-domain:port}}
   ```

1. Untuk mengaktifkan proxy`apt`, buat file yang disebut `apt.conf` dalam `/etc/apt/` direktori. Ganti proxy-domain dan port dengan nilai untuk lingkungan Anda.

   ```
   Acquire::http::Proxy "http://{{proxy-domain:port}}";
   Acquire::https::Proxy "http://{{proxy-domain:port}}";
   ```

 **Amazon Linux 2023** 

1. `dnf`Konfigurasikan untuk menggunakan proxy Anda. Buat file `/etc/dnf/dnf.conf` dengan proxy-domain dan nilai port untuk lingkungan Anda.

   ```
   proxy=http://{{proxy-domain:port}}
   ```

 **Perusahaan Topi Merah Linux** 

1. `yum`Konfigurasikan untuk menggunakan proxy Anda. Buat file `/etc/yum.conf` dengan proxy-domain dan nilai port untuk lingkungan Anda.

   ```
   proxy=http://{{proxy-domain:port}}
   ```

### Konfigurasi proxy Peran IAM Di Mana Saja
<a name="_iam_roles_anywhere_proxy_configuration"></a>

Layanan penyedia kredensi IAM Roles Anywhere bertanggung jawab untuk menyegarkan kredensil saat menggunakan Peran IAM Di Mana Saja dengan tanda (lihat). `enableCredentialsFile` [Agen Identitas EKS Pod](hybrid-nodes-add-ons.md#hybrid-nodes-add-ons-pod-id) Jika Anda menggunakan proxy di lingkungan lokal, Anda harus mengonfigurasi layanan agar dapat berkomunikasi dengan titik akhir IAM Roles Anywhere.

Buat file yang disebut `http-proxy.conf` dalam `/etc/systemd/system/aws_signing_helper_update.service.d/` direktori dengan konten berikut. Ganti `proxy-domain` dan `port` dengan nilai-nilai untuk lingkungan Anda.

```
[Service]
Environment="HTTP_PROXY=http://{{proxy-domain:port}}"
Environment="HTTPS_PROXY=http://{{proxy-domain:port}}"
Environment="NO_PROXY=localhost"
```

## Konfigurasi luas cluster
<a name="_cluster_wide_configuration"></a>

Konfigurasi di bagian ini harus diterapkan setelah Anda membuat klaster Amazon EKS dan sebelum berjalan `nodeadm init` pada setiap node hybrid.

### konfigurasi proxy kube-proxy
<a name="_kube_proxy_proxy_configuration"></a>

Amazon EKS secara otomatis menginstal `kube-proxy` pada setiap node hybrid sebagai DaemonSet saat node hybrid Anda bergabung dengan cluster. `kube-proxy`memungkinkan perutean di seluruh layanan yang didukung oleh pod di kluster Amazon EKS. Untuk mengonfigurasi setiap host, `kube-proxy` memerlukan resolusi DNS untuk titik akhir klaster Amazon EKS Anda.

1. Edit `kube-proxy` DaemonSet dengan perintah berikut

   ```
   kubectl -n kube-system edit ds kube-proxy
   ```

   Ini akan membuka `kube-proxy` DaemonSet definisi pada editor Anda yang dikonfigurasi.

1. Tambahkan variabel lingkungan untuk `HTTP_PROXY` dan`HTTPS_PROXY`. Perhatikan variabel `NODE_NAME` lingkungan seharusnya sudah ada dalam konfigurasi Anda. Ganti `proxy-domain` dan `port` dengan nilai untuk lingkungan Anda.

   ```
   containers:
     - command:
       - kube-proxy
       - --v=2
       - --config=/var/lib/kube-proxy-config/config - --hostname-override=$(NODE_NAME)
       env:
       - name: HTTP_PROXY
         value: http://{{proxy-domain:port}}
       - name: HTTPS_PROXY
         value: http://{{proxy-domain:port}}
       - name: NODE_NAME
         valueFrom:
           fieldRef:
             apiVersion: v1
             fieldPath: spec.nodeName
   ```