Azure Kubernetes Service (AKS) içinde sertifikaları döndürme
Azure Kubernetes Service (AKS), birçok bileşeniyle kimlik doğrulaması için sertifikaları kullanır. Düzenli aralıklarla, güvenlik veya ilke nedenleriyle bu sertifikaları döndürmeye ihtiyacınız olabilir. Örneğin, tüm sertifikalarınızı 90 günde bir döndürmek için bir ilkeniz olabilir.
Bu makalede AKS kümenizin sertifikalarını nasıl döndürtün?
Başlamadan önce
Bu makale için Azure CLI 2.0.77 veya sonraki bir sürümünü çalıştırmanız gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
AKS sertifikaları, Sertifika Yetkilileri ve Hizmet Hesapları
AKS aşağıdaki sertifikaları, Sertifika Yetkililerini ve Hizmet Hesaplarını üretir ve kullanır:
- AKS API sunucusu, Küme CA'sı adlı bir Sertifika Yetkilisi (CA) oluşturur.
- API sunucusunda, API sunucusundan kubelets'e tek yol iletişim için sertifikaları imzalayan bir Küme CA'sı vardır.
- Her kubelet ayrıca kubelet'den API sunucusuna iletişim için Küme CA'sı tarafından imzalanan bir Sertifika İmzalama İsteği (CSR) oluşturur.
- API toplayıcısı, diğer API'lerle iletişim için sertifikalar yapmak için Küme CA'sını kullanır. API toplayıcısı, bu sertifikaları verme için kendi CA'sı da olabilir, ancak şu anda Küme CA'sını kullanır.
- Her düğüm, Küme CA'sı tarafından imzalanan bir Hizmet Hesabı (SA) belirteci kullanır.
- İstemcinin
kubectlAKS kümesiyle iletişim kurmak için bir sertifikası var.
Not
Mayıs 2019'dan önce oluşturulan AKS kümelerde iki yıl sonra süresi dolan sertifikalar vardır. Mayıs 2019'dan sonra oluşturulan tüm kümelerde veya sertifikaları döndürülmüş kümelerde, 30 yıl sonra süresi dolan Küme CA sertifikaları vardır. İmzalama için Küme CA'sını kullanan diğer tüm AKS sertifikaları iki yıl sonra sona erer ve AKS sürüm yükseltmesi sırasında otomatik olarak döndürülür. Kümenizin ne zaman oluşturulacaklarını doğrulamak için, düğüm kubectl get nodes havuzlarının Yaşı'nın nasıl olduğunu görmek için kullanın.
Ayrıca, kümenizin sertifikasının sona erme tarihini de kontrol edin. Örneğin, aşağıdaki bash komutu rg kaynak grubunda myAKSCluster kümesi için istemci sertifikası ayrıntılarını görüntüler
kubectl config view --raw -o jsonpath="{.users[?(@.name == 'clusterUser_rg_myAKSCluster')].user.client-certificate-data}" | base64 -d | openssl x509 -text | grep -A2 Validity
- apiserver sertifikasının sona erme tarihini denetleme
curl https://{apiserver-fqdn} -k -v 2>&1 |grep expire
- VMAS aracı düğümünde sertifikanın sona erme tarihini denetleme
az vm run-command invoke -g MC_rg_myAKSCluster_region -n vm-name --command-id RunShellScript --query 'value[0].message' -otsv --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
- Bir VMSS aracı düğümünde sertifikanın sona erme tarihini denetleme
az vmss run-command invoke -g MC_rg_myAKSCluster_region -n vmss-name --instance-id 0 --command-id RunShellScript --query 'value[0].message' -otsv --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
Sertifika Otomatik Döndürme
Azure Kubernetes Service, hem denetim düzlemi hem de aracı düğümlerde ca olmayan sertifikaları küme için kapalı kalma süresi olmadan süresi dolmadan önce otomatik olarak döndürecek.
AKS'nin CA dışı sertifikaları otomatik olarak döndürmesi için kümede TLS Önyüklemesi olmalıdır. TLS Önyüklemesi şu anda aşağıdaki bölgelerde kullanılabilir:
- eastus2euap
- centraluseuap
- Orta Batı ABD
- uksouth
- eastus
- australiacentral
- australiaest
Geçerli aracı düğümü havuzunun TLS Önyüklemesi'nin etkin olup olmadığını denetleme
Kümeniz üzerinde TLS Önyüklemesi'nin etkinleştirildiğinden emin olmak için aşağıdaki yollara göz atabilirsiniz. Bir Linux düğümünde: /var/lib/kubelet/bootstrap-kubeconfig, Windows düğümde c:\k\bootstrap-config.
[Not] K8s sürümü gelecekte geliştikçe dosya yolu değişebilir.
Önemli
Bir bölge yapılandırıldığında yeni bir küme oluşturun veya mevcut bir kümeyi otomatik sertifika döndürme için ayarlamak üzere 'az aks upgrade -g $RESOURCE_GROUP_NAME -n $CLUSTER_NAME' yükseltin.
Sınırlama
Otomatik sertifika döndürme, rbac olmayan kümede etkinleştirilmez.
Küme sertifikalarınızı döndürme
Uyarı
kullanarak sertifikalarınızı döndürerek tüm düğümlerinizi ve işletim sistemi Disklerini yeniden oluşturabilirsiniz ve AKS kümeniz için 30 dakikaya kadar az aks rotate-certs kapalı kalma süresine neden olabilir.
AKS kümeniz için az aks get-credentials kullanarak oturum açma. Bu komut ayrıca istemci sertifikasını yerel kubectl makinenize indirir ve yapılandırr.
az aks get-credentials -g $RESOURCE_GROUP_NAME -n $CLUSTER_NAME
Kümeniz az aks rotate-certs üzerinde tüm sertifikaları, CA'ları ve CA'ları döndürmek için kullanın.
az aks rotate-certs -g $RESOURCE_GROUP_NAME -n $CLUSTER_NAME
Önemli
Tamamlanması 30 dakika kadar az aks rotate-certs sürebilir. Komut tamamlamadan önce başarısız olursa, az aks show kümenin durumunun Sertifika Döndürme olduğunu doğrulamak için kullanın. Küme başarısız durumda ise, sertifikalarınızı yeniden döndürmek az aks rotate-certs için yeniden deneyin.
Bir komut çalıştırarak eski sertifikaların artık geçerli olmadığını kubectl doğrulayın. tarafından kullanılan sertifikaları güncelleştirmemiş olduğunu için kubectl bir hatayla karşı karşınız. Örneğin:
$ kubectl get no
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "ca")
çalıştırarak tarafından kullanılan kubectl sertifikayı az aks get-credentials güncelleştirin.
az aks get-credentials -g $RESOURCE_GROUP_NAME -n $CLUSTER_NAME --overwrite-existing
Artık başarılı olacak bir komut çalıştırarak kubectl sertifikaların güncelleştirilmiş olduğunu doğrulayın. Örneğin:
kubectl get no
Not
AKS üzerinde çalıştıran herhangi bir hizmetiniz varsa, bu hizmetlerle ilgili sertifikaları da güncelleştirmeniz gerekir.
Sonraki adımlar
Bu makalede kümenizin sertifikalarını, CA'larını ve CA'larını otomatik olarak döndürmeyi gösterdi. AKS güvenliğine yönelik en iyi yöntemler hakkında daha fazla bilgi için Azure Kubernetes Service (AKS) içinde küme güvenliği ve yükseltmeleri için en iyi yöntemler'i görüntüebilirsiniz.