Megosztás a következőn keresztül:


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:

  1. Telepítse az aks-preview bővítményt a az extension add paranccsal.

    az extension add --name aks-preview
    
  2. 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

  1. Regisztrálja a CustomCATrustPreview funkciójelzőt a az 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.

  2. Ellenőrizze a regisztrációs állapotot a az feature show paranccsal.

    az feature show --namespace "Microsoft.ContainerService" --name "CustomCATrustPreview"
    
  3. 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 a kube-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 a kube-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 containerda 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.