Azure Kubernetes Service’te (AKS) statik bir genel IP adresiyle giriş denetleyicisi oluşturma
Giriş denetleyicisi, Kubernetes Hizmetleri için ters proxy, yapılandırılabilir trafik yönlendirme ve TLS sonlandırma sağlayan bir yazılım parçasıdır. Kubernetes giriş kaynakları, bağımsız bir Kubernetes hizmeti için giriş kurallarını ve rotaları yapılandırmak üzere kullanılır. Bir giriş denetleyicisi ve giriş kuralları kullanarak, bir Kubernetes kümesinde trafiği birden çok hizmete yönlendirmek için tek bir IP adresi kullanılabilir.
Bu makalede bir Azure Kubernetes Service (AKS) kümesinde NGINX giriş denetleyicisinin nasıl dağıtılacağı gösterilir. Giriş denetleyicisi statik bir genel IP adresi ile yapılandırılır. CERT-Manager projesi, sertifikaları şifreleyebilmesine otomatik olarak oluşturmak ve yapılandırmak için kullanılır. Son olarak, her biri tek bir IP adresi üzerinden erişilebilen AKS kümesinde iki uygulama çalıştırılır.
Aşağıdakileri de yapabilirsiniz:
- Dış ağ bağlantısı ile temel bir giriş denetleyicisi oluşturma
- HTTP uygulama yönlendirme eklentisini etkinleştirin
- Kendi TLS sertifikalarınızı kullanan bir giriş denetleyicisi oluşturun
- Dinamik bir genel IP adresi ile otomatik olarak TLS sertifikaları oluşturmak için şifrelemeyi kullanan bir giriş denetleyicisi oluşturun
Başlamadan önce
Bu makalede, mevcut bir AKS kümeniz olduğunu varsaymaktadır. AKS kümesine ihtiyacınız varsa bkz. Azure CLI kullanarak aks hızlı başlangıç veya Azure Portal kullanımı.
Bu makalede, Kubernetes 'in desteklenen bir sürümüneNGINX giriş denetleyicisini yüklemek Için Held 3 kullanılmaktadır. Held 'nin en son sürümünü kullandığınızdan ve giriş -NGINX ve jetstack Held depolarına erişim sahibi olduğunuzdan emin olun. Bu makalede özetlenen adımlar, helk grafiğinin önceki sürümleriyle, NGıNX giriş denetleyicisine veya Kubernetes ile uyumlu olmayabilir.
Held 'yi yapılandırma ve kullanma hakkında daha fazla bilgi için bkz. Azure Kubernetes hizmeti 'nde (AKS) Held ile uygulama yüklemesi. Yükseltme yönergeleri için, bkz. hela Install docs.
Bu makalede, Azure CLı sürüm 2.0.64 veya üstünü de çalıştırıyor olmanı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.
Ayrıca, bu makalede tümleşik ACR ile mevcut bir AKS kümeniz olduğunu varsaymaktadır. Tümleşik ACR ile AKS kümesi oluşturma hakkında daha fazla bilgi için bkz. Azure Kubernetes hizmetinden Azure Container Registry kimlik doğrulaması.
Helm grafiğinin kullandığı görüntüleri ACR 'nize aktarma
Bu makalede üç kapsayıcı görüntüsü kullanan NGINX giriş denetleyicisi Held grafiğikullanılmaktadır. az acr importBu görüntüleri ACR 'nize aktarmak için kullanın.
REGISTRY_NAME=<REGISTRY_NAME>
CONTROLLER_REGISTRY=k8s.gcr.io
CONTROLLER_IMAGE=ingress-nginx/controller
CONTROLLER_TAG=v1.0.4
PATCH_REGISTRY=docker.io
PATCH_IMAGE=jettech/kube-webhook-certgen
PATCH_TAG=v1.5.2
DEFAULTBACKEND_REGISTRY=k8s.gcr.io
DEFAULTBACKEND_IMAGE=defaultbackend-amd64
DEFAULTBACKEND_TAG=1.5
CERT_MANAGER_REGISTRY=quay.io
CERT_MANAGER_TAG=v1.5.4
CERT_MANAGER_IMAGE_CONTROLLER=jetstack/cert-manager-controller
CERT_MANAGER_IMAGE_WEBHOOK=jetstack/cert-manager-webhook
CERT_MANAGER_IMAGE_CAINJECTOR=jetstack/cert-manager-cainjector
az acr import --name $REGISTRY_NAME --source $CONTROLLER_REGISTRY/$CONTROLLER_IMAGE:$CONTROLLER_TAG --image $CONTROLLER_IMAGE:$CONTROLLER_TAG
az acr import --name $REGISTRY_NAME --source $PATCH_REGISTRY/$PATCH_IMAGE:$PATCH_TAG --image $PATCH_IMAGE:$PATCH_TAG
az acr import --name $REGISTRY_NAME --source $DEFAULTBACKEND_REGISTRY/$DEFAULTBACKEND_IMAGE:$DEFAULTBACKEND_TAG --image $DEFAULTBACKEND_IMAGE:$DEFAULTBACKEND_TAG
az acr import --name $REGISTRY_NAME --source $CERT_MANAGER_REGISTRY/$CERT_MANAGER_IMAGE_CONTROLLER:$CERT_MANAGER_TAG --image $CERT_MANAGER_IMAGE_CONTROLLER:$CERT_MANAGER_TAG
az acr import --name $REGISTRY_NAME --source $CERT_MANAGER_REGISTRY/$CERT_MANAGER_IMAGE_WEBHOOK:$CERT_MANAGER_TAG --image $CERT_MANAGER_IMAGE_WEBHOOK:$CERT_MANAGER_TAG
az acr import --name $REGISTRY_NAME --source $CERT_MANAGER_REGISTRY/$CERT_MANAGER_IMAGE_CAINJECTOR:$CERT_MANAGER_TAG --image $CERT_MANAGER_IMAGE_CAINJECTOR:$CERT_MANAGER_TAG
Not
ACR 'nize kapsayıcı görüntüleri almanın yanı sıra, Helm grafiklerini de ACR 'nize aktarabilirsiniz. Daha fazla bilgi için bkz. Azure Container Registry 'de Helu grafikleri gönderme ve çekme.
Giriş denetleyicisi oluşturma
Varsayılan olarak, bir NGıNX giriş denetleyicisi yeni bir genel IP adresi atamasıyla oluşturulur. Bu genel IP adresi yalnızca giriş denetleyicisinin yaşam döngüsü için statiktir ve denetleyici silinip yeniden oluşturulduysa kaybedilir. Ortak bir yapılandırma gereksinimi, NGıNX giriş denetleyicisine mevcut bir statik genel IP adresi sağlamaktır. Giriş denetleyicisi silinirse statik genel IP adresi kalır. Bu yaklaşım, mevcut DNS kayıtlarını ve ağ yapılandırmasını uygulamalarınızın yaşam döngüsü boyunca tutarlı bir şekilde kullanmanıza olanak sağlar.
Statik bir genel IP adresi oluşturmanız gerekiyorsa, önce az aks Show komutuyla aks kümesinin kaynak grubu adını alın:
az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv
Ardından, az Network public-IP Create komutunu kullanarak statik AYıRMA yöntemiyle genel bir IP adresi oluşturun. Aşağıdaki örnek, önceki adımda elde edilen AKS kümesi kaynak grubundaki Myakspublicıp adlı BIR genel IP adresi oluşturur:
az network public-ip create --resource-group MC_myResourceGroup_myAKSCluster_eastus --name myAKSPublicIP --sku Standard --allocation-method static --query publicIp.ipAddress -o tsv
Not
Yukarıdaki komutlar, AKS kümenizi silerseniz silinecek bir IP adresi oluşturur. Alternatif olarak, AKS kümeinizden ayrı olarak yönetilebilen farklı bir kaynak grubunda bir IP adresi oluşturabilirsiniz. Farklı bir kaynak grubunda bir IP adresi oluşturursanız, AKS kümesi tarafından kullanılan küme kimliğinin, ağ katılımcısı gibi diğer kaynak grubu için izin Temsilcili olduğundan emin olun. Daha fazla bilgi için bkz. AKS yük dengeleyicisiyle statik bir genel IP adresi ve DNS etiketi kullanma.
Şimdi NGINX-ingress grafiğini Held ile dağıtın. Daha fazla yedeklilik sağlamak için --set controller.replicaCount parametresiyle iki NGINX giriş denetleyicisi çoğaltması dağıtılır. Giriş denetleyicisinin Çoğaltmalarından tamamen yararlanmak için AKS kümenizde birden fazla düğüm olduğundan emin olun.
IP ve DNS etiketi
Giriş denetleyicisinin hem giriş denetleyicisi hizmetine ayrılacak yük dengeleyicinin statik IP adresini hem de genel IP adresi kaynağına uygulanmakta olan DNS adı etiketini bilmesi için, helk sürümüne iki ek parametre geçirmeniz gerekir. HTTPS sertifikalarının düzgün çalışması için, giriş denetleyicisi IP adresi için bir FQDN yapılandırmak üzere bir DNS ad etiketi kullanılır.
- Parametresini ekleyin
--set controller.service.loadBalancerIP. Önceki adımda oluşturulan kendi genel IP adresini belirtin. - Parametresini ekleyin
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-dns-label-name". Önceki adımda oluşturulan genel IP adresine uygulanacak bir DNS ad etiketi belirtin. Bu etiket, formun bir DNS adını oluşturacak<LABEL>.<AZURE REGION NAME>.cloudapp.azure.com
Ayrıca giriş denetleyicisinin bir Linux düğümü üzerinde zamanlanması gerekir. Giriş denetleyicisi, Windows Server düğümlerinde çalıştırılmamalıdır. Kubernetes zamanlayıcısına NGINX giriş denetleyicisini Linux tabanlı bir düğümde çalıştırmasını söylemek için --set nodeSelector parametresi kullanılarak bir düğüm seçici belirtilir.
İpucu
Aşağıdaki örnek, ınress-Basic adlı giriş kaynakları Için bir Kubernetes ad alanı oluşturur ve bu ad alanı içinde çalışmak üzere tasarlanmıştır. Gerektiğinde kendi ortamınız için bir ad alanı belirtin. AKS kümeniz Kubernetes RBAC etkin değilse, --set rbac.create=false helk komutlarına ekleyin.
İpucu
Kümenizdeki kapsayıcılara yönelik istemci kaynak IP korumasını etkinleştirmek Istiyorsanız, --set controller.service.externalTrafficPolicy=Local Helm install komutuna ekleyin. İstemci kaynak IP 'si, Için X-iletilen-için istek üstbilgisinde depolanır. İstemci kaynak IP koruması etkinken bir giriş denetleyicisi kullanılırken, TLS geçişi çalışmaz.
Aşağıdaki betiği, giriş denetleyicinizin IP adresiyle ve FQDN ön eki için kullanmak istediğiniz benzersiz bir adla güncelleştirin.
Önemli
<STATIC_IP> <DNS_LABEL> Komutunu ÇALıŞTıRıRKEN kendi IP adresiniz ve benzersiz adınızla değiştirme 'yi güncelleştirmeniz gerekir. DNS_LABEL Azure bölgesi içinde benzersiz olmalıdır.
# Add the ingress-nginx repository
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
# Set variable for ACR location to use for pulling images
ACR_URL=<REGISTRY_URL>
STATIC_IP=<STATIC_IP>
DNS_LABEL=<DNS_LABEL>
# Use Helm to deploy an NGINX ingress controller
helm install nginx-ingress ingress-nginx/ingress-nginx \
--namespace ingress-basic --create-namespace \
--set controller.replicaCount=2 \
--set controller.nodeSelector."kubernetes\.io/os"=linux \
--set controller.image.registry=$ACR_URL \
--set controller.image.image=$CONTROLLER_IMAGE \
--set controller.image.tag=$CONTROLLER_TAG \
--set controller.image.digest="" \
--set controller.admissionWebhooks.patch.nodeSelector."kubernetes\.io/os"=linux \
--set controller.admissionWebhooks.patch.image.registry=$ACR_URL \
--set controller.admissionWebhooks.patch.image.image=$PATCH_IMAGE \
--set controller.admissionWebhooks.patch.image.tag=$PATCH_TAG \
--set controller.admissionWebhooks.patch.image.digest="" \
--set defaultBackend.nodeSelector."kubernetes\.io/os"=linux \
--set defaultBackend.image.registry=$ACR_URL \
--set defaultBackend.image.image=$DEFAULTBACKEND_IMAGE \
--set defaultBackend.image.tag=$DEFAULTBACKEND_TAG \
--set defaultBackend.image.digest="" \
--set controller.service.loadBalancerIP=$STATIC_IP \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-dns-label-name"=$DNS_LABEL
Kubernetes yük dengeleyici hizmeti NGıNX giriş denetleyicisi için oluşturulduğunda, aşağıdaki örnek çıktıda gösterildiği gibi statik IP adresiniz atanır:
$ kubectl --namespace ingress-basic get services -o wide -w nginx-ingress-ingress-nginx-controller
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
nginx-ingress-ingress-nginx-controller LoadBalancer 10.0.74.133 EXTERNAL_IP 80:32486/TCP,443:30953/TCP 44s app.kubernetes.io/component=controller,app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=ingress-nginx
Henüz bir giriş kuralı oluşturulmadı, bu nedenle genel IP adresine gözattığınızda NGıNX giriş denetleyicisinin varsayılan 404 sayfası görüntülenir. Giriş kuralları aşağıdaki adımlarda yapılandırılır.
Genel IP adresinde FQDN 'yi sorgulayarak DNS ad etiketinin uygulandığını aşağıdaki gibi doğrulayabilirsiniz:
az network public-ip list --resource-group MC_myResourceGroup_myAKSCluster_eastus --query "[?name=='myAKSPublicIP'].[dnsSettings.fqdn]" -o tsv
Giriş denetleyicisine artık IP adresi veya FQDN üzerinden erişilebilir.
cert-manager denetleyicisini yükleme
NGINX giriş denetleyicisi, TLS sonlandırmayı destekler. HTTPS için birçok farklı sertifika alma ve yapılandırma yöntemi vardır. Bu makalede, sertifika oluşturma ve yönetim işlevlerinin şifrelenmesi için otomatik olarak sağlanan CERT-Managerkullanımı gösterilmektedir.
Not
Bu makalede, staging şifreleme için ortamı kullanılmaktadır. Üretim dağıtımlarında, letsencrypt-prod https://acme-v02.api.letsencrypt.org/directory kaynak tanımlarında ve, Held grafiğini yüklerken öğesini kullanın.
Bir Kubernetes RBAC etkin kümesine CERT-Manager denetleyicisi yüklemek için şu helm install komutu kullanın:
# Label the cert-manager namespace to disable resource validation
kubectl label namespace ingress-basic cert-manager.io/disable-validation=true
# Add the Jetstack Helm repository
helm repo add jetstack https://charts.jetstack.io
# Update your local Helm chart repository cache
helm repo update
# Install the cert-manager Helm chart
helm install cert-manager jetstack/cert-manager \
--namespace ingress-basic \
--version $CERT_MANAGER_TAG \
--set installCRDs=true \
--set nodeSelector."kubernetes\.io/os"=linux \
--set image.repository=$ACR_URL/$CERT_MANAGER_IMAGE_CONTROLLER \
--set image.tag=$CERT_MANAGER_TAG \
--set webhook.image.repository=$ACR_URL/$CERT_MANAGER_IMAGE_WEBHOOK \
--set webhook.image.tag=$CERT_MANAGER_TAG \
--set cainjector.image.repository=$ACR_URL/$CERT_MANAGER_IMAGE_CAINJECTOR \
--set cainjector.image.tag=$CERT_MANAGER_TAG
CERT Manager yapılandırması hakkında daha fazla bilgi için bkz. CERT-Manager Projesi.
CA kümesi veren oluşturma
Sertifikaların verilebilmesi için, CERT Manager bir veren veya clusterıssuer kaynağı gerektirir. Bu Kubernetes kaynakları işlevselliklerde aynıdır, ancak Issuer tek bir ad alanında çalışarak ve ClusterIssuer tüm ad alanları üzerinde çalışmaktadır. Daha fazla bilgi için bkz. CERT-Manager veren belgeleri.
Aşağıdaki örnek bildirimini kullanarak gibi bir küme veren oluşturun cluster-issuer.yaml . E-posta adresini kuruluşunuzdaki geçerli bir adresle güncelleştirin:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
spec:
acme:
server: https://acme-staging-v02.api.letsencrypt.org/directory
email: user@contoso.com
privateKeySecretRef:
name: letsencrypt-staging
solvers:
- http01:
ingress:
class: nginx
podTemplate:
spec:
nodeSelector:
"kubernetes.io/os": linux
Veren oluşturmak için kubectl apply komutunu kullanın.
kubectl apply -f cluster-issuer.yaml --namespace ingress-basic
Çıktının bu örneğe benzer olması gerekir:
clusterissuer.cert-manager.io/letsencrypt-staging created
Demo uygulamalarını çalıştırma
Bir giriş denetleyicisi ve bir sertifika yönetimi çözümü yapılandırıldı. Şimdi AKS kümenizde iki tanıtım uygulaması çalıştıralım. Bu örnekte, HELI basit bir ' Hello World ' uygulamasının iki örneğini dağıtmak için kullanılır.
Giriş denetleyicisini çalışır durumda görmek için AKS kümenizde iki tanıtım uygulaması çalıştırın. Bu örnekte, kubectl apply basit bir Hello World uygulamasının iki örneğini dağıtmak için kullanırsınız.
Bir aks-HelloWorld. YAML dosyası oluşturun ve aşağıdaki örnekte bulunan YAML 'yi kopyalayın:
apiVersion: apps/v1
kind: Deployment
metadata:
name: aks-helloworld
spec:
replicas: 1
selector:
matchLabels:
app: aks-helloworld
template:
metadata:
labels:
app: aks-helloworld
spec:
containers:
- name: aks-helloworld
image: mcr.microsoft.com/azuredocs/aks-helloworld:v1
ports:
- containerPort: 80
env:
- name: TITLE
value: "Welcome to Azure Kubernetes Service (AKS)"
---
apiVersion: v1
kind: Service
metadata:
name: aks-helloworld
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: aks-helloworld
Bir ınress-demo. YAML dosyası oluşturun ve aşağıdaki örnekte bulunan YAML 'yi kopyalayın:
apiVersion: apps/v1
kind: Deployment
metadata:
name: ingress-demo
spec:
replicas: 1
selector:
matchLabels:
app: ingress-demo
template:
metadata:
labels:
app: ingress-demo
spec:
containers:
- name: ingress-demo
image: mcr.microsoft.com/azuredocs/aks-helloworld:v1
ports:
- containerPort: 80
env:
- name: TITLE
value: "AKS Ingress Demo"
---
apiVersion: v1
kind: Service
metadata:
name: ingress-demo
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: ingress-demo
Kullanarak iki demo uygulamayı çalıştırın kubectl apply :
kubectl apply -f aks-helloworld.yaml --namespace ingress-basic
kubectl apply -f ingress-demo.yaml --namespace ingress-basic
Giriş yolu oluşturma
Her iki uygulama da artık Kubernetes kümenizde çalışıyor, ancak bunlar türünde bir hizmetle yapılandırılmış ClusterIP . Bu nedenle, uygulamalara internet 'ten erişilemez. Bunları herkese açık hale getirmek için bir Kubernetes giriş kaynağı oluşturun. Giriş kaynağı, trafiği iki uygulamadan birine yönlendiren kuralları yapılandırır.
Aşağıdaki örnekte, adrese https://demo-aks-ingress.eastus.cloudapp.azure.com/ olan trafik adlı hizmete yönlendirilir aks-helloworld . Adrese giden trafik https://demo-aks-ingress.eastus.cloudapp.azure.com/hello-world-two ingress-demo hizmete yönlendirilir. Ana bilgisayarları ve ana bilgisayarı , önceki adımda oluşturduğunuz DNS adına güncelleştirin.
Adlı bir dosya oluşturun hello-world-ingress.yaml ve aşağıdaki örnekteki YAML 'yi kopyalayın.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hello-world-ingress
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-staging
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
tls:
- hosts:
- demo-aks-ingress.eastus.cloudapp.azure.com
secretName: tls-secret
rules:
- host: demo-aks-ingress.eastus.cloudapp.azure.com
http:
paths:
- path: /hello-world-one(/|$)(.*)
pathType: Prefix
backend:
service:
name: aks-helloworld
port:
number: 80
- path: /hello-world-two(/|$)(.*)
pathType: Prefix
backend:
service:
name: ingress-demo
port:
number: 80
- path: /(.*)
pathType: Prefix
backend:
service:
name: aks-helloworld
port:
number: 80
Komutunu kullanarak giriş kaynağını oluşturun kubectl apply .
kubectl apply -f hello-world-ingress.yaml --namespace ingress-basic
Çıktının bu örneğe benzer olması gerekir:
ingress.extensions/hello-world-ingress created
Sertifika nesnesini doğrula
Daha sonra, bir sertifika kaynağı oluşturulmalıdır. Sertifika kaynağı istenen X. 509.952 sertifikasını tanımlar. Daha fazla bilgi için bkz. CERT-Manager sertifikaları.
CERT-Manager, v 0.2.2 sürümünden itibaren otomatik olarak CERT-Manager ile dağıtılan giriş dolgusu 'nı kullanarak sizin için otomatik olarak bir sertifika nesnesi oluşturdu. Daha fazla bilgi için bkz. giriş dolgusu belgeleri.
Sertifikanın başarıyla oluşturulduğunu doğrulamak için kubectl describe certificate tls-secret --namespace ingress-basic komutunu kullanın.
Sertifika verildiyse aşağıdakine benzer bir çıktı görürsünüz:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CreateOrder 11m cert-manager Created new ACME order, attempting validation...
Normal DomainVerified 10m cert-manager Domain "demo-aks-ingress.eastus.cloudapp.azure.com" verified with "http-01" validation
Normal IssueCert 10m cert-manager Issuing certificate...
Normal CertObtained 10m cert-manager Obtained certificate from ACME server
Normal CertIssued 10m cert-manager Certificate issued successfully
Giriş yapılandırmasını test etme
Kubernetes giriş denetleyicinizin FQDN 'sine bir Web tarayıcısı açın (örneğin,) https://demo-aks-ingress.eastus.cloudapp.azure.com .
Bu örneklerde kullanırken letsencrypt-staging , VERILEN TLS/SSL sertifikasına tarayıcı tarafından güvenilmiyor. Uygulamanıza devam etmek için uyarı isteğini kabul edin. Sertifika bilgileri, bu sahte bir ara x1 sertifikasının, Şifreleyebilmesine göre verildiğini gösterir. Bu sahte sertifika cert-manager , isteğin doğru bir şekilde işlendiğini ve sağlayıcıdan bir sertifika alındığını gösterir:

Yerine kullanmak için şifreleyelim prod staging ' i değiştirirseniz, aşağıdaki örnekte gösterildiği gibi, şifreleyebilmesine göre verilen güvenilir bir sertifika kullanılır:

Demo uygulaması Web tarayıcısında gösterilir:

Şimdi /Hello-World-iki yolunu FQDN 'sine ekleyin, örneğin https://demo-aks-ingress.eastus.cloudapp.azure.com/hello-world-two . Özel başlığa sahip ikinci demo uygulaması gösterilir:

Kaynakları temizleme
Bu makalede giriş bileşenleri, sertifikalar ve örnek uygulamalar yüklemek için Held kullanılmaktadır. Bir helk grafiği dağıttığınızda, bir dizi Kubernetes kaynağı oluşturulur. Bu kaynaklar, pods, dağıtımlar ve hizmetler içerir. Bu kaynakları temizlemek için, tüm örnek ad alanını veya ayrı kaynakları silebilirsiniz.
Örnek ad alanını ve tüm kaynakları Sil
Tüm örnek ad alanını silmek için kubectl delete komutunu kullanın ve ad alanı adınızı belirtin. Ad alanındaki tüm kaynaklar silinir.
kubectl delete namespace ingress-basic
Kaynakları tek tek Sil
Alternatif olarak, oluşturulan kaynakları tek tek silmek daha ayrıntılı bir yaklaşımdır. İlk olarak, sertifika kaynaklarını kaldırın:
kubectl delete -f certificates.yaml
kubectl delete -f cluster-issuer.yaml
Şimdi komutunu kullanarak Held sürümlerini listeleyin helm list . Aşağıdaki örnek çıktıda gösterildiği gibi NGINX-ingress ve CERT-Manager adlı grafikleri arayın:
$ helm list --all-namespaces
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
nginx-ingress ingress-basic 1 2020-01-11 14:51:03.454165006 deployed nginx-ingress-1.28.2 0.26.2
cert-manager ingress-basic 1 2020-01-06 21:19:03.866212286 deployed cert-manager-v0.13.0 v0.13.0
Komutuyla yayınları kaldırın helm uninstall . Aşağıdaki örnek NGıNX giriş dağıtımı ve Sertifika Yöneticisi dağıtımlarını kaldırır.
$ helm uninstall nginx-ingress cert-manager -n ingress-basic
release "nginx-ingress" deleted
release "cert-manager" deleted
Sonra, iki örnek uygulamayı kaldırın:
kubectl delete -f aks-helloworld.yaml --namespace ingress-basic
kubectl delete -f ingress-demo.yaml --namespace ingress-basic
Kendi ad alanını silin. Komutunu kullanın kubectl delete ve ad alanı adınızı belirtin:
kubectl delete namespace ingress-basic
Son olarak, giriş denetleyicisi için oluşturulan statik genel IP adresini kaldırın. Bu makalenin ilk adımında elde edilen MC_myResourceGroup_myAKSCluster_eastus gibi Mc_ Cluster kaynak grubu adınızı sağlayın:
az network public-ip delete --resource-group MC_myResourceGroup_myAKSCluster_eastus --name myAKSPublicIP
Sonraki adımlar
Bu makalede bazı dış bileşenler AKS 'ye eklenmiştir. Bu bileşenler hakkında daha fazla bilgi edinmek için aşağıdaki proje sayfalarına bakın:
Aşağıdakileri de yapabilirsiniz:
- Dış ağ bağlantısı ile temel bir giriş denetleyicisi oluşturma
- HTTP uygulama yönlendirme eklentisini etkinleştirin
- İç, özel ağ ve IP adresi kullanan bir giriş denetleyicisi oluşturun
- Kendi TLS sertifikalarınızı kullanan bir giriş denetleyicisi oluşturun
- Dinamik bir genel IP ile giriş denetleyicisi oluşturun ve otomatik olarak TLS sertifikaları oluşturmak için şifrelemeyi yapılandırın