Configurare il proxy per i nodi ibridi - Amazon EKS

Aiutaci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurare il proxy per i nodi ibridi

Se si utilizza un server proxy nell'ambiente locale per il traffico in uscita dal data center o dall'ambiente perimetrale, è necessario configurare il sistema operativo e kube-proxy utilizzare il server proxy. containerd kubelet È necessario eseguire kube-proxy la configurazione dopo aver creato il cluster Amazon EKS. Puoi apportare le modifiche al tuo sistema operativo e kubelet durante il processo di creazione delle immagini del sistema operativo o prima dell'esecuzione nodeadm init su ciascun nodo ibrido. containerd

Configurazione a livello di nodo

Le configurazioni in questa sezione devono essere applicate nelle immagini del sistema operativo o prima dell'esecuzione nodeadm init su ogni nodo ibrido.

containerdconfigurazione proxy

containerdè il runtime di gestione dei contenitori predefinito per Kubernetes. Se utilizzi un proxy per l'accesso a Internet, devi configurarlo in containerd modo che possa estrarre le immagini dei container richieste da Kubernetes e Amazon EKS.

Crea un file su ogni nodo ibrido chiamato http-proxy.conf nella /etc/systemd/system/containerd.service.d directory con i seguenti contenuti. Sostituisci proxy-domain e port con i valori del tuo ambiente.

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

containerdconfigurazione dai dati dell'utente

La containerd.service.d directory dovrà essere creata per questo file. Sarà necessario ricaricare systemd per recuperare il file di configurazione senza riavviare il sistema. Nella AL2 versione 023, il servizio sarà probabilmente già in esecuzione al momento dell'esecuzione dello script, quindi sarà necessario riavviarlo.

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

kubeletconfigurazione proxy

kubeletè l'agente del nodo Kubernetes che viene eseguito su ogni nodo Kubernetes ed è responsabile della gestione del nodo e dei pod in esecuzione su di esso. Se utilizzi un proxy nel tuo ambiente locale, devi configurarlo in kubelet modo che possa comunicare con gli endpoint pubblici o privati del cluster Amazon EKS.

Crea un file su ogni nodo ibrido chiamato http-proxy.conf nella /etc/systemd/system/kubelet.service.d/ directory con il seguente contenuto. Sostituisci proxy-domain e port con i valori del tuo ambiente.

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

kubeletconfigurazione dai dati dell'utente

La kubelet.service.d directory deve essere creata per questo file. È necessario ricaricare systemd per recuperare il file di configurazione senza riavviare il sistema. Nella AL2 versione 023, il servizio sarà probabilmente già in esecuzione al momento dell'esecuzione dello script, quindi sarà necessario riavviarlo.

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

Configurazione proxy del sistema operativo

Se si utilizza un proxy per l'accesso a Internet, è necessario configurare il sistema operativo per poter estrarre le dipendenze dei nodi ibridi dal gestore di pacchetti dei sistemi operativi.

Ubuntu

  1. Configura snap l'utilizzo del proxy con i seguenti comandi:

    sudo snap set system proxy.https=http://proxy-domain:port sudo snap set system proxy.http=http://proxy-domain:port
  2. Per abilitare il proxy perapt, crea un file chiamato apt.conf nella /etc/apt/ directory. Sostituisci proxy-domain e port con i valori del tuo ambiente.

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

Amazon Linux 2023 e Red Hat Enterprise Linux

  1. Configura yum per usare il tuo proxy. Crea un file /etc/yum.conf con i valori del dominio proxy e della porta per il tuo ambiente.

    proxy=http://proxy-domain:port

Configurazione a livello di cluster

Le configurazioni in questa sezione devono essere applicate dopo aver creato il cluster Amazon EKS e prima dell'esecuzione nodeadm init su ogni nodo ibrido.

configurazione proxy kube-proxy

Amazon EKS si installa automaticamente kube-proxy su ogni nodo ibrido DaemonSet quando i nodi ibridi entrano a far parte del cluster. kube-proxyabilita il routing tra servizi supportati da pod su cluster Amazon EKS. Per configurare ogni host, è kube-proxy necessaria la risoluzione DNS per l'endpoint del cluster Amazon EKS.

  1. Modifica il file kube-proxy DaemonSet con il seguente comando

    kubectl -n kube-system edit ds kube-proxy

    Questo aprirà la kube-proxy DaemonSet definizione nell'editor configurato.

  2. Aggiungi le variabili di ambiente per HTTP_PROXY eHTTPS_PROXY. Nota che la variabile di NODE_NAME ambiente dovrebbe già esistere nella tua configurazione. Sostituisci proxy-domain e port con valori per il tuo ambiente.

    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