Egyéni hitelesítésszolgáltató (CA) az Azure Kubernetes Service-ben (AKS) (előzetes verzió)
Az AKS a következő tanúsítványokat, hitelesítésszolgáltatókat (hitelesítésszolgáltatókat) és szolgáltatásfiókokat (SA-kat) hozza létre és használja:
- Az AKS API-kiszolgáló létrehoz egy fürt ca nevű hitelesítésszolgáltatót.
- Az API-kiszolgáló rendelkezik egy fürt hitelesítésszolgáltatóval, amely tanúsítványokat ír alá az API-kiszolgáló és a kubelets közötti egyirányú kommunikációhoz.
- Minden kubelet létrehoz egy tanúsítvány-aláírási kérést (CSR), amelyet a fürt hitelesítésszolgáltatója ír alá a kubelet és az API-kiszolgáló közötti kommunikációhoz.
- Az API-összesítő a fürt ca-jával állít ki tanúsítványokat más API-kkal való kommunikációhoz. Az API-összesítő saját hitelesítésszolgáltatóval is rendelkezhet a tanúsítványok kiállításához, de jelenleg a fürt hitelesítésszolgáltatóját használja.
- Minden csomópont egy SA-jogkivonatot használ, amelyet a fürt hitelesítésszolgáltatója ír alá.
- Az
kubectl
ügyfél rendelkezik egy tanúsítvánnyal az AKS-fürttel való kommunikációhoz.
Létrehozhat egyéni hitelesítésszolgáltatókat is, amelyek lehetővé teszik az Azure Kubernetes Service-fürtök és számítási feladatok, például a magánregisztrációs adatbázisok, proxyk és tűzfalak közötti megbízhatóság kialakítását. Egy Kubernetes-titkos kód tárolja a hitelesítésszolgáltató adatait, majd a fürt összes csomópontjának átadja. Ez a funkció csomópontkészletenként van alkalmazva, ezért engedélyeznie kell az új és a meglévő csomópontkészleteken.
Ez a cikk bemutatja, hogyan hozhat létre egyéni hitelesítésszolgáltatókat, és hogyan alkalmazhatja őket az AKS-fürtökre.
Előfeltételek
- Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
- Telepített Azure CLI (2.43.0-s vagy újabb verzió).
- Egy base64 kódolású tanúsítványsztring vagy egy tanúsítványt tartalmazó szövegfájl.
Korlátozások
- Ez a funkció jelenleg nem támogatott a Windows-csomópontkészletek esetében.
Az aks-preview
Azure CLI-bővítmény telepítése
Fontos
Az AKS előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az AKS előzetes verzióit részben az ügyfélszolgálat fedezi a legjobb munkamennyiség alapján. Ezért ezek a funkciók nem éles használatra vannak szánva. További információkért tekintse meg az alábbi támogatási cikkeket:
Telepítse az aks-preview bővítményt a
az extension add
paranccsal.az extension add --name aks-preview
Frissítsen a bővítmény legújabb verziójára a
az extension update
paranccsal.az extension update --name aks-preview
A funkciójelző regisztrálása CustomCATrustPreview
Regisztrálja a
CustomCATrustPreview
funkciójelzőt aaz feature register
paranccsal.az feature register --namespace "Microsoft.ContainerService" --name "CustomCATrustPreview"
Néhány percig tart, amíg az állapot megjelenik a Regisztrált állapotban.
Ellenőrizze a regisztrációs állapotot a
az feature show
paranccsal.az feature show --namespace "Microsoft.ContainerService" --name "CustomCATrustPreview"
Ha az állapot a Regisztrált állapotot tükrözi, frissítse a Microsoft.ContainerService erőforrás-szolgáltató regisztrációját a
az provider register
paranccsal.az provider register --namespace Microsoft.ContainerService
Egyéni hitelesítésszolgáltató telepítése AKS-csomópontkészleteken
Hitelesítésszolgáltatók telepítése AKS-csomópontkészletekre
Ha a környezet megköveteli az egyéni hitelesítésszolgáltatók hozzáadását a csomópontmegbízhatósági tárolóhoz a megfelelő kiépítés érdekében, egy legfeljebb 10 üres sorra tagolt tanúsítványt tartalmazó szövegfájlt kell átadnia a műveletek során vagy
az aks update
közbenaz aks create
. Példa szövegfájl:-----BEGIN CERTIFICATE----- cert1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- cert2 -----END CERTIFICATE-----
Hitelesítésszolgáltatók telepítése a csomópontkészlet létrehozása során
Telepítse a hitelesítésszolgáltatókat a csomópontkészlet létrehozása során a
az aks create
parancs használatával, és adja meg a paraméter szövegfájlját--custom-ca-trust-certificates
.az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --node-count 2 \ --enable-custom-ca-trust \ --custom-ca-trust-certificates pathToFileWithCAs \ --generate-ssh-keys
CA-rotáció a rendelkezésre álláshoz a csomópontkészlet indításakor
Frissítse a fürtnek a rendszerindítás során átadott hitelesítésszolgáltatókat a
az aks update
parancs használatával, és adja meg a paraméter szövegfájlját--custom-ca-trust-certificates
.az aks update \ --resource-group <resource-group-name> \ --name <cluster-name> \ --custom-ca-trust-certificates pathToFileWithCAs
Feljegyzés
Ez a művelet elindít egy modellfrissítést, biztosítva, hogy az új csomópontok rendelkezzenek a megfelelő kiépítéshez szükséges legújabb hitelesítésszolgáltatóval. Az AKS további csomópontokat hoz létre, kiüríti a meglévőket, törli őket, és olyan csomópontokra cseréli őket, amelyeken telepítve van az új hitelesítésszolgáltatók készlete.
Hitelesítésszolgáltatók telepítése a csomópontkészlet létrehozása után
Ha a környezet az egyéni hitelesítésszolgáltatók nélkül is sikeresen üzembe helyezhető, a hitelesítésszolgáltatókat egy titkos kód a névtérben kube-system
való üzembe helyezésével adhatja meg. Ez a megközelítés lehetővé teszi a tanúsítványváltást anélkül, hogy csomópont-rekreációra van szükség.
Hozzon létre egy Kubernetes titkos YAML-jegyzékfájlt a base64 kódolású tanúsítványsztringjével a
data
mezőben.apiVersion: v1 kind: Secret metadata: name: custom-ca-trust-secret namespace: kube-system type: Opaque data: ca1.crt: | {base64EncodedCertStringHere} ca2.crt: | {anotherBase64EncodedCertStringHere}
A titkos kódból származó adatok az összes csomópont hitelesítésszolgáltatóinak frissítésére szolgálnak. Győződjön meg arról, hogy a titkos kód neve el van nevezve
custom-ca-trust-secret
, és akube-system
névtérben van létrehozva. A hitelesítésszolgáltatók névtérbeli titkos kód használatával történő telepítése lehetővé teszi akube-system
hitelesítésszolgáltatói rotációt anélkül, hogy csomópont-rekreációra van szükség. Ca frissítéséhez vagy eltávolításához szerkesztheti és alkalmazhatja a YAML-jegyzékfájlt. A fürt lekérdezi a módosításokat, és ennek megfelelően frissíti a csomópontokat. A módosítások alkalmazása eltarthat néhány percig.Feljegyzés
A csomóponton a tárolóalapú újraindítás szükséges lehet a hitelesítésszolgáltatók megfelelő átvételéhez. Ha úgy tűnik, hogy a hitelesítésszolgáltatók nincsenek megfelelően hozzáadva a csomópont megbízhatósági tárolójához, a következő parancs használatával indíthatja el az újraindítást a csomópont rendszerhéjából:
systemctl restart containerd
Új AKS-fürt konfigurálása egyéni hitelesítésszolgáltató használatára
Konfiguráljon egy új AKS-fürtöt egyéni hitelesítésszolgáltató használatára a
az aks create
--enable-custom-ca-trust
paraméterrel rendelkező paranccsal.az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --node-count 2 \ --enable-custom-ca-trust \ --generate-ssh-keys
Új AKS-fürt konfigurálása egyéni hitelesítésszolgáltató használatára a csomópont indítása előtt telepített hitelesítésszolgáltatókkal
Konfiguráljon egy új AKS-fürtöt úgy, hogy egyéni hitelesítésszolgáltatót használjon, és a csomópont indítása előtt telepített hitelesítésszolgáltatókkal használja a
az aks create
parancsot és--custom-ca-trust-certificates
a--enable-custom-ca-trust
paramétereket.az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --node-count 2 \ --enable-custom-ca-trust \ --custom-ca-trust-certificates pathToFileWithCAs \ --generate-ssh-keys
Meglévő AKS-fürt konfigurálása egyéni hitelesítésszolgáltatók telepítésére a csomópont indítása előtt
Konfiguráljon egy meglévő AKS-fürtöt, hogy hozzáadja az egyéni hitelesítésszolgáltatókat a csomópont megbízhatósági tárolójához, mielőtt a paraméterrel együtt elindítja a
az aks update
--custom-ca-trust-certificates
parancsot.az aks update \ --resource-group <resource-group-name> \ --name <cluster-name> \ --custom-ca-trust-certificates pathToFileWithCAs
Új csomópontkészlet konfigurálása egyéni hitelesítésszolgáltató használatára
Konfiguráljon egy új csomópontkészletet úgy, hogy egyéni hitelesítésszolgáltatót használjon a
az aks nodepool add
--enable-custom-ca-trust
paraméterrel rendelkező paranccsal.az aks nodepool add \ --cluster-name <cluster-name> \ --resource-group <resource-group-name> \ --name <node-pool-name> \ --enable-custom-ca-trust \ --os-type Linux
Ha a funkcióval rendelkező más csomópontkészletek nem léteznek, a fürtnek egyeztetnie kell a módosítások érvénybe lépéséhez szükséges beállításait. Ez a művelet automatikusan történik az AKS egyeztetési ciklusának részeként. A művelet előtt a démonkészlet és a podok nem jelennek meg a fürtön. A parancs használatával azonnali egyeztetési
az aks update
műveletet indíthat el. A démonkészlet és a podok a frissítés befejezése után jelennek meg.
Meglévő csomópontkészlet konfigurálása egyéni hitelesítésszolgáltató használatára
Konfiguráljon egy meglévő csomópontkészletet úgy, hogy egyéni hitelesítésszolgáltatót használjon a
az aks nodepool update
--enable-custom-ca-trust
paraméterrel rendelkező paranccsal.az aks nodepool update \ --resource-group <resource-group-name> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --enable-custom-ca-trust
Ha a funkcióval rendelkező más csomópontkészletek nem léteznek, a fürtnek egyeztetnie kell a módosítások érvénybe lépéséhez szükséges beállításait. Ez a művelet automatikusan történik az AKS egyeztetési ciklusának részeként. A művelet előtt a démonkészlet és a podok nem jelennek meg a fürtön. A parancs használatával azonnali egyeztetési
az aks update
műveletet indíthat el. A démonkészlet és a podok a frissítés befejezése után jelennek meg.
Egyéni hitelesítésszolgáltató letiltása csomópontkészleten
Tiltsa le az egyéni hitelesítésszolgáltatói funkciót egy meglévő csomópontkészleten a
az aks nodepool update
paraméterrel rendelkező--disable-custom-ca-trust
paranccsal.az aks nodepool update \ --resource-group <resource-group-name> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --disable-custom-ca-trust
Hibaelhárítás
A funkció engedélyezve van, és titkos hitelesítésszolgáltatókkal bővül, de a műveletek sikertelenek az ismeretlen hatóság által aláírt X.509-tanúsítványsal
Helytelenül formázott tanúsítványokat ad át a titkos kód
Az AKS megköveteli, hogy a felhasználó által létrehozott titkos kódban átadott tanúsítványokat megfelelően formázza és alap64 kódolja. Győződjön meg arról, hogy az átadott hitelesítésszolgáltatók megfelelően base64 kódolásúak, és hogy a hitelesítésszolgáltatókkal rendelkező fájlok nem rendelkeznek CRLF-sortörésekkel.
A továbbított --custom-ca-trust-certificates
tanúsítványoknak nem szabad base64 kódolásúnak lenniük.
a containerd nem vett fel új tanúsítványokat
Futtassa systemctl restart containerd
a csomópont felületéről. A tároló újraindítása után a tároló futtatókörnyezete megfelelően veszi fel az új tanúsítványokat.
Következő lépések
Az AKS biztonsági ajánlott eljárásairól további információt az Azure Kubernetes Service (AKS) fürtbiztonságával és frissítésekkel kapcsolatos ajánlott eljárásaiban talál.
Azure Kubernetes Service