Konfigurasikan proxy untuk node hybrid - 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.

Konfigurasikan proxy untuk node hybrid

Jika Anda menggunakan server proxy di lingkungan lokal untuk lalu lintas yang meninggalkan pusat data atau lingkungan edge, Anda perlu mengonfigurasi sistem operasi,, containerdkubelet, dan kube-proxy menggunakan server proxy Anda. Anda harus mengonfigurasi kube-proxy setelah membuat cluster Amazon EKS Anda. Anda dapat membuat perubahan untuk sistem operasi Andacontainerd, dan kubelet selama proses build untuk image sistem operasi Anda atau sebelum Anda menjalankan nodeadm init pada setiap node hybrid.

Konfigurasi tingkat simpul

Konfigurasi di bagian ini harus diterapkan dalam gambar sistem operasi Anda atau sebelum berjalan nodeadm init pada setiap node hybrid.

containerdkonfigurasi proxy

containerdadalah 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"

containerdkonfigurasi dari data pengguna

containerd.service.dDirektori 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 echo 'Environment="HTTP_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/containerd.service.d echo 'Environment="HTTPS_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/containerd.service.d echo 'Environment="NO_PROXY=localhost"' >> /etc/systemd/system/containerd.service.d systemctl daemon-reload systemctl restart containerd

kubeletkonfigurasi proxy

kubeletadalah 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"

kubeletkonfigurasi dari data pengguna

kubelet.service.dDirektori 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 echo 'Environment="HTTP_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/kubelet.service.d echo 'Environment="HTTPS_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/kubelet.service.d echo 'Environment="NO_PROXY=localhost"' >> /etc/systemd/system/kubelet.service.d systemctl daemon-reload systemctl restart containerd

Konfigurasi proxy sistem operasi

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
  2. Untuk mengaktifkan proxyapt, 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 dan Red Hat Enterprise Linux

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

    proxy=http://proxy-domain:port

Konfigurasi luas cluster

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

Amazon EKS secara otomatis menginstal kube-proxy pada setiap node hybrid sebagai DaemonSet saat node hybrid Anda bergabung dengan cluster. kube-proxymemungkinkan 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.

  2. Tambahkan variabel lingkungan untuk HTTP_PROXY danHTTPS_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