Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a cikkben megtudhatja, hogyan kell konfigurálni az Azure Kubernetes Service (AKS) fürtöket úgy, hogy egy HTTP-proxyn keresztül férjenek hozzá a kifelé irányuló internetkapcsolathoz.
Az AKS fürtök, amelyeket menedzselt vagy egyéni virtuális hálózatokba telepítettek, bizonyos kimenő függőségekkel rendelkeznek, amelyek szükségesek a megfelelő működésükhöz. Ez problémákat okozott olyan környezetekben, ahol az internet-hozzáférést HTTP-proxikon keresztül kell irányítani. Az egységek nem tudták elindítani a konfigurációt, környezeti változókat és tanúsítványokat, amelyek szükségesek az internetes szolgáltatások eléréséhez.
Az HTTP proxy funkció HTTP proxy támogatást ad az AKS klaszterekhez, egy egyszerű felületet nyújtva, amelyet az AKS-hez szükséges hálózati forgalom védelmére használhat proxy-függő környezetekben. With this feature, both AKS nodes and pods are configured to use the HTTP proxy. A funkció lehetővé teszi egy megbízható hitelesítő hatóság telepítését a csomópontokra egy klaszter bootstrappelése részeként. Összetettebb megoldások esetén szükség lehet egy bizalmi lánc létrehozására a hálózaton belüli biztonságos kommunikáció megteremtése érdekében.
Korlátok és megfontolások
A következő forgatókönyvek nem támogatottak:
- Különböző proxy konfigurációk node poolonként
- Felhasználónév/jelszó hitelesítés
- Egyedi tanúsítványhatóságok az API szerver kommunikációhoz
- AKS klaszterek Windows csomóponti csoportokkal
- Node poolok, amelyek Virtuális Gép rendelkezésre állási készleteket (VMAS) használnak
- A * használata helyettesítő karakterként egy domain végződéshez csatoltan a noProxy számára.
httpProxy
, httpsProxy
és trustedCa
alapértelmezés szerint nincs értékük. A podokba a következő környezeti változókat injektálják be:
HTTP_PROXY
http_proxy
HTTPS_PROXY
https_proxy
NO_PROXY
no_proxy
A proxy környezeti változók injektálásának letiltásához jelölnie kell a Podot "kubernetes.azure.com/no-http-proxy-vars":"true"
használatával.
Mielőtt elkezdené
- Szüksége van az Azure CLI legfrissebb verziójára. Futtassa
az --version
a verzió megkereséséhez, és futtassaaz upgrade
a verzió frissítéséhez. Ha telepítenie vagy frissítenie kell, tekintse meg a(z) Install Azure CLI dokumentációt. - Ellenőrizze az elérhető AKS klaszter frissítéseket, hogy biztosan az AKS legújabb verzióját használja. Ha szükséges a frissítés, lásd AKS fürt frissítése.
- HTTP-proxy konfigurálása az Azure CLI használatával
- HTTP-proxy konfigurálása Azure Resource Manager- (ARM-) sablonnal
- Istio Add-On HTTP-proxy külső szolgáltatásokhoz
AKS klasztert konfigurálhat egy HTTP proxyval a klaszter létrehozása során a az aks create
parancs használatával, és a konfigurációt egy JSON fájlként adhatja meg.
- Hozzon létre egy fájlt, és adjon meg értékeket a
httpProxy
,httpsProxy
, ésnoProxy
számára. Ha a környezet megköveteli, adjon meg egy értéket atrustedCa
számára.
A konfigurációs fájl sémája így néz ki:
{
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": [
"string"
],
"trustedCa": "string"
}
Tekintse át az egyes paraméterek követelményeit:
-
httpProxy
: A proxy URL to use for creating HTTP connections outside the cluster. Az URL sémahttp
kell, hogy legyen. -
httpsProxy
: A proxy URL to use for creating HTTPS connections outside the cluster. Ha nincs meghatározva, akkor ahttpProxy
mind HTTP, mind HTTPS kapcsolatokra használatos. -
noProxy
: A cél domainnevek, domainek, IP-címek vagy egyéb hálózati CIDR-ek listája, amely kizárja a proxyzást. -
trustedCa
: Egy karakterláncot, amely tartalmazza azbase64 encoded
alternatív CA tanúsítvány tartalmát. Jelenleg csak aPEM
formátum támogatott.
Important
A Kubernetes rendszer részét képező, Go-alapú komponensekkel való kompatibilitás érdekében a tanúsítványnak támogatnia kell a Subject Alternative Names(SANs)
, a Common Name tanúsítványok helyett, amelyek elavultak.
Az alkalmazások között különbségek vannak abban, hogy miként felelnek meg a környezeti változóknak http_proxy
, https_proxy
, és no_proxy
. A Curl és a Python nem támogatja a CIDR-t a no_proxy
, de a Ruby igen.
Példa bemenet:
{
"httpProxy": "http://myproxy.server.com:8080/",
"httpsProxy": "https://myproxy.server.com:8080/",
"noProxy": [
"localhost",
"127.0.0.1"
],
"trustedCA": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJB...b3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0="
}
- Hozzon létre egy fürtöt a
az aks create
paranccsal, amelynek--http-proxy-config
paraméterét az Ön által létrehozott fájlra állította be.
az aks create \
--name $clusterName \
--resource-group $resourceGroup \
--http-proxy-config aks-proxy-config.json \
--generate-ssh-keys
Your cluster should initialize with the HTTP proxy configured on the nodes.
Fürt frissítése http-proxykonfiguráció engedélyezéséhez vagy frissítéséhez
Megjegyzés
Ha egy új proxyra vált, az új proxynak már léteznie kell ahhoz, hogy a frissítés sikeres legyen. After the upgrade is completed, you can delete the old proxy.
A HTTP-proxykonfiguráció a parancs használatával az aks update
engedélyezhető vagy frissíthető egy meglévő fürtön. A --http-proxy-config
paramétert egy új JSON-fájlra kell állítani, amely a , httpsProxy
, noProxy
és trustedCa
szükség esetén frissített értékeket httpProxy
tartalmazza. A frissítés új környezeti változókat injektál a podokba az új httpProxy
, httpsProxy
, vagy noProxy
értékekkel.
Figyelmeztetés
Az AKS automatikusan újra létrehozza a fürt összes csomópontkészletét, amikor a parancs használatával az aks update
frissíti a fürt proxykonfigurációját.
A podkimaradási költségvetések (PDB-k) használatával megvédheti a kritikus podok megszakadását az újraimálás során.
Tegyük fel például, hogy létrehozott egy új fájlt az új CA tanúsítvány base64-kódolt karakterláncával, amelynek a neve aks-proxy-config-2.json. Frissítheti a proxy konfigurációját a fürtön a következő parancs segítségével:
az aks update --name $clusterName --resource-group $resourceGroup --http-proxy-config aks-proxy-config-2.json
Monitoring add-on configuration
A megfigyelési bővítménnyel ellátott HTTP proxy a következő konfigurációkat támogatja:
- Kimenő proxy hitelesítés nélkül
- Kimenő proxy felhasználónév és jelszó hitelesítéssel
- Kimenő proxy megbízható tanúsítvánnyal a Log Analytics végpont számára
A következő konfigurációk nem támogatottak:
- Custom Metrics and Recommended Alerts features when using a proxy with trusted certificates
Next steps
További információért az AKS klaszterek hálózati követelményeivel kapcsolatban, lásd A klasztercsomópontok kiáramló forgalmának vezérlése AKS-ben.
Azure Kubernetes Service