Azure Stack Hub'da AKS altyapısını kullanarak Kubernetes sertifikalarını döndürme
Bu belgede, mevcut AKS Altyapısı kümesindeki sertifikaları döndürme hakkında yönergeler ve araç olarak benimsemeyi aks-engine rotate-certs
kullanmaya yönelik öneriler sağlanır.
Önkoşullar
Bu kılavuzda AKS altyapısını kullanarak zaten bir küme dağıttığınız ve kümenin iyi durumda olduğu varsayılır.
Sertifika döndürmeyi planlama
Bu işlevi kullanmayı düşünürken, güncelleştirme, doğrulama ve yeniden başlatma adımları sırasında Kubernetes denetim düzleminin kullanılamayacağını unutmayın. Bu bakım işlemini uygun şekilde planlayın. Ayrıca, üretim ortamında denemeden önce bu işlemi üretim ortamına eşit yapılandırmaya sahip bir hazırlama ortamında yürütmeyi planlayın.
Bu işlemi denemeden önce aşağıdaki noktaları gözden geçirin:
Not
AKSe sürüm 0.75.3 ve üzeri için sertifika döndürme komutları yerine aks-engine
ile aks-engine-azurestack
başlar.
veya
aks-engine generate
komutlarıaks-engine deploy
tarafından oluşturulan API modeline (apimodel.json
) erişmeniz gerekir. Varsayılan olarak bu dosya gibi_output/<clustername>/
göreli bir dizine yerleştirilir.Bir
aks-engine rotate-certs
işlem API sunucusunun kapalı kalma süresine neden olur.aks-engine rotate-certs
kümenin geçerli durumuna uygun bir API modeli bekler.aks-engine rotate-certs
, küme düğümlerinde uzak komutları yürütür ve güvenli bir SSH bağlantısı kurmak için API modeli bilgilerini kullanır.aks-engine rotate-certs
ayrıca, özgünaks-engine
dağıtıma uygun olarak adlandırılacak bazı kaynaklara da dayanır; örneğin, VM'lerin tarafındanaks-engine
sağlanan adlandırmayı izlemesi gerekir.aks-engine rotate-certs
sertifika döndürme sırasında küme denetim düzlemine yönelik çalışan bir bağlantıya dayanır:- İşlemin her adımını doğrulamak için.
- Kube-system podları ve hizmet hesabı belirteçleri gibi küme kaynaklarını yeniden başlatmak/yeniden oluşturmak için.
Dış erişime kapalı bir sanal ağdaki bir kümenin sertifikalarını döndürdüğünüzde, denetim düzlemine ağ erişimi olan bir konak VM'den( örneğin, ana VM'lerle aynı sanal ağda bulunan bir sıçrama kutusu VM'sinden) çalıştırmanız
aks-engine rotate-certs
gerekir.Üretimde kullanıyorsanız
aks-engine rotate-certs
, aynı belirtimlere göre oluşturulmuş bir kümede sertifika döndürme testi hazırlamanız önerilir. Yani küme, sertifika döndürme işlemini gerçekleştirmeden önce aynı küme yapılandırması, AKS altyapısı komut satırı aracının aynı sürümü ve üretim kümenizle aynı etkin eklenti kümesiyle oluşturulur. AKS altyapısı farklı küme yapılandırmalarını destekler ve AKS altyapısı ekibinin çalıştırıp çalıştıramadığı uçtan uca test kapsamı, olası tüm yapılandırmaları hemen hemen kapsamaz. Bu nedenle, üretim kümenizde işlemi denemeden önce belirli küme yapılandırmanızın birlikteaks-engine rotate-certs
çalıştığı bir hazırlama ortamında emin olmanız önerilir.aks-engine rotate-certs
geriye dönük uyumluluğu garanti etmez . aks-engine sürüm 0.60.x ile dağıttıysanız, sertifika döndürme işlemini sürüm 0.60.x ile yürütmeyi tercih etmelisiniz.bu noktada Key Vault'den yeni bir sertifika kümesi getirilme işlemi desteklenmez.
Güvenilir bir ağ bağlantısı kullanın.
aks-engine rotate-certs
, büyük ölçüde küme düğümlerine bağlantı güvenilir değilse olası hatalara tabi olan birden çok uzak komutun yürütülmesini gerektirir.aks-engine rotate-certs
Hedef Azure Stack damgası üzerinde çalışan bir VM'den çalıştırmak geçici sorunların oluşmasını azaltabilir.
Parametreler
Parametre | Gerekli | Açıklama |
---|---|---|
--api-model | evet | Beklenen küme yapılandırmasını bildiren API modelinin (küme tanımı) göreli yolu. |
--ssh-host | evet | Kümedeki tüm düğümlere ulaşabilen bir SSH dinleyicisinin tam etki alanı adı (FQDN) veya IP adresi. |
--linux-ssh-private-key | evet | Kümenin Linux düğümlerine erişmek için geçerli bir özel SSH anahtarının yolu. |
--Konum | evet | Kümenin dağıtıldığı Azure konumu. |
--subscription-id | evet | Kümenin dağıtıldığı Azure aboneliği. |
--resource-group | evet | Kümenin dağıtıldığı Azure kaynak grubu. |
--client-id | -sına bağ -lıdır | Hizmet sorumlusu istemci kimliği. auth-metodu client_secret veya client_certificate olarak ayarlandıysa gereklidir. |
--client-secret | -sına bağ -lıdır | Hizmet sorumlusu istemci gizli dizisi. auth-metodu client_secret olarak ayarlandıysa gereklidir. |
--azure-env | -sına bağ -lıdır | Hedef bulut adı. Hedef bulut AzureCloud ise isteğe bağlıdır. |
--certificate-profile | hayır | Yeni sertifika kümesini içeren bir JSON dosyasının göreli yolu. |
--Kuvvet | hayır | API Sunucusu yanıt vermese bile yürütmeye zorlar. |
Sertifikaları döndürmek için basit adımlar
AKS Altyapısı'nın 0.75.3 ve üzeri sürümleri için, tüm gereksinimleri okuduktan sonra uygun bağımsız değişkenlerle komutunu çalıştırın aks-engine-azurestack rotate-certs
(aşağıya bakın).
AKS Altyapısı 0.73.0 ve altı sürümleri için, tüm gereksinimleri okuduktan sonra uygun bağımsız değişkenlerle komutunu çalıştırın aks-engine rotate-certs
:
./bin/aks-engine rotate-certs \
--location <resource-group-location> \
--api-model <generated-apimodel.json> \
--linux-ssh-private-key <private-SSH-key> \
--ssh-host <apiserver-URI> \
--resource-group <resource-group-name> \
--client-id <service-principal-id> \
--client-secret <service-principal-secret> \
--subscription-id <subscription-id> \
--azure-env <cloud-name>
Örneğin:
./bin/aks-engine rotate-certs \
--location "westus2" \
--api-model "_output/my-cluster/apimodel.json" \
--linux-ssh-private-key "~/.ssh/id_rsa" \
--ssh-host "my-cluster.westus2.cloudapp.azure.com"\
--resource-group "my-cluster" \
--client-id "12345678-XXXX-YYYY-ZZZZ-1234567890ab" \
--client-secret "12345678-XXXX-YYYY-ZZZZ-1234567890ab" \
--subscription-id "12345678-XXXX-YYYY-ZZZZ-1234567890ab" \
--azure-env "AzureStackCloud" # optional if targeting AzureCloud
Sertifikaları döndürme front-proxy
Not
AKSe sürüm 0.75.3 ve üzeri için sertifika döndürme komutları yerine aks-engine
ile aks-engine-azurestack
başlar.
AKS altyapısı, düğüm önyükleme işleminin front-proxy
bir parçası olarak için ayrı bir PKI oluşturur ve bunları aracılığıyla etcd
tüm düğümlere teslim eder. Bu işlevselliği etkili bir şekilde yeniden kullanmak için içinde rotate-certs
etcd
depolanan sertifikaların yerini akla getirmek gerekir. Sertifikaların front-proxy
süresi 30 yıl sonra dolar. aks-engine rotate-certs
ön proxy sertifikalarını döndürür.
Sorun giderme
Not
AKSe sürüm 0.75.3 ve üzeri için sertifika döndürme komutları yerine aks-engine
ile aks-engine-azurestack
başlar.
Sertifika döndürme işlemi, ağ bağlantısı gibi bir hata veya geçici bir sorun nedeniyle tamamlanmadan önce durursa, bayrağını kullanarak --force
yeniden çalıştırmak aks-engine rotate-certs
güvenlidir.
Ayrıca dosyadaki /var/log/azure/rotate-certs.log
(Linux) ve c:\\k\\rotate-certs.log
(Windows) her adımın çıkışını günlüğe kaydedenlere aks-engine rotate-certs
dikkat edin.
Bu işlemi çalıştırırken arka planda neler olduğu hakkında daha fazla bilgi edinmek veya daha fazla özelleştirme için bkz. Under The Hood.
Sonraki adımlar
- Azure Stack Hub'da AKS altyapısı hakkında bilgi edinin
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin