Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Windows Server'da AKS
Bu makalede, Windows Server üzerinde AKS'deki bir Kubernetes kümesinde Kubernetes uygulamalarını yüklemek ve yönetmek için Helm'in nasıl yapılandırıldığı ve kullanılacağı açıklanmaktadır.
Helm , Kubernetes uygulamalarının yaşam döngüsünü yüklemenize ve yönetmenize yardımcı olan bir açık kaynak paketleme aracıdır. Helm, APT ve Sum gibi Linux paket yöneticilerine benzer şekilde, önceden yapılandırılmış Kubernetes kaynaklarının paketleri olan Kubernetes grafiklerini yönetir.
Başlamadan önce
Aşağıdaki gereksinimleri ayarladığınızı doğrulayın:
- Çalışır durumda olan en az bir Linux çalışan düğümüne sahip bir Kubernetes kümesi.
- Yerel
kubectl
ortamınızı kümenize işaret eden şekilde yapılandırmışsınız. Şunu kullanarak kümenize erişmek için Get-AksHciCredential PowerShell komutunu kullanabilirsinizkubectl
. - Helm v3 komut satırı ve önkoşullar yüklenir.
- Bunu PowerShell'e tercih ediyorsanız, komutları çalıştırmak için Azure CLI'yi kullanabilirsiniz.
Önemli
Helm, Linux düğümlerinde çalışacak şekilde tasarlanmıştır. Kümenizde Windows Server düğümleri varsa Helm podlarının yalnızca Linux düğümlerinde çalışacak şekilde zamanlandığından emin olmanız gerekir. Ayrıca, yüklediğiniz helm grafiklerinin doğru düğümlerde çalışacak şekilde zamanlandığından da emin olmanız gerekir. Bu makaledeki komutlar, podların doğru düğümlere zamanlandığından emin olmak için düğüm seçicileri kullanır, ancak tüm Helm grafiklerinde düğüm seçici gösterilmez. Kümenizde renk tonları gibi diğer seçenekleri de kullanabilirsiniz.
Helm sürümünüzü doğrulayın
Helm 3'ü yüklediğinizi helm version
doğrulamak için komutunu kullanın:
helm version
Aşağıdaki örnekte Helm sürüm 3.5.4'in yüklü olduğu gösterilmektedir:
version.BuildInfo{Version:"v3.5.4", GitCommit:"1b5edb69df3d3a08df77c9902dc17af864ff05d1", GitTreeState:"clean", GoVersion:"go1.15.11"}
Helm v3 ile uygulama yükleme
Helm depolarını ekle
ingress-nginx deposunu eklemek için helm repo komutunu kullanın.
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
Helm grafiklerini bulma
Helm grafikleri, uygulamaları bir Kubernetes kümesine dağıtmak için kullanılır. Önceden oluşturulmuş Helm grafiklerini aramak için helm search komutunu kullanın:
helm search repo ingress-nginx
Aşağıdaki daraltılmış örnek çıktı, kullanılabilecek Helm grafiklerinden bazılarını gösterir:
NAME CHART VERSION APP VERSION DESCRIPTION
ingress-nginx/ingress-nginx 3.30.0 0.46.0 Ingress controller for Kubernetes using NGINX a...
Grafik listesini güncelleştirmek için helm repo update komutunu kullanın.
helm repo update
Aşağıdaki örnekte başarılı bir depo güncelleştirmesi gösterilmektedir:
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "ingress-nginx" chart repository
Update Complete. Happy Helming!
Helm grafiklerini çalıştırma
Helm ile grafik yüklemek için helm yükleme komutunu kullanın ve yüklenecek grafiğin yayın adını ve adını belirtin. Helm grafiği yüklemesini çalışır durumda görmek için Helm grafiği kullanarak temel bir nginx dağıtımı yükleyin.
Aşağıdaki komut biri Azure CLI'da, diğeri de PowerShell konsolunda kullanılmak üzere olmak üzere iki kez sağlanır:
helm install my-nginx-ingress ingress-nginx/ingress-nginx \
--set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux
helm install my-nginx-ingress ingress-nginx/ingress-nginx `
--set controller.nodeSelector."beta\.kubernetes\.io/os"=linux `
--set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux
Aşağıdaki daraltılmış örnek çıktı, Helm grafiği tarafından oluşturulan Kubernetes kaynaklarının dağıtım durumunu gösterir:
> --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
> --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux
NAME: my-nginx-ingress
LAST DEPLOYED: Fri May 14 17:43:27 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The nginx-ingress controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace default get services -o wide -w my-nginx-ingress-ingress-nginx-controller'
...
kubectl get services
komutunu, hizmetinizin EXTERNAL-IP değerini almak için kullanın.
kubectl --namespace default get services -o wide -w my-nginx-ingress-ingress-nginx-controller
Örneğin, aşağıdaki komut, my-nginx-ingress-ingress-nginx-controller hizmeti için EXTERNAL-IP'yi gösterir:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
my-nginx-ingress-ingress-nginx-controller LoadBalancer 10.98.53.215 <EXTERNAL-IP> 80:31553/TCP,443:30784/TCP 72s app.kubernetes.io/component=controller,app.kubernetes.io/instance=my-nginx-ingress,app.kubernetes.io/name=ingress-nginx
Sürümleri Listele
Kümenizde yüklü sürümlerin listesini görmek için komutunu kullanın helm list
.
helm list
Aşağıdaki örnekte, önceki adımda dağıtılan my-nginx-ingress sürümü gösterilmektedir:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
my-nginx-ingress default 1 2021-05-14 17:43:27.1670709 +0000 UTC deployed nginx-ingress-3.30.0 0.46.0
Kaynakları temizleme
Helm grafiği dağıttığınızda birçok Kubernetes kaynağı oluşturulur. Bu kaynaklar arasında podlar, dağıtımlar ve hizmetler bulunur. Bu kaynakları temizlemek için helm uninstall komutunu kullanın ve önceki helm list
komutta olduğu gibi yayın adınızı belirtin:
helm uninstall my-nginx-ingress
Aşağıdaki örnek çıkış, my-nginx-ingress sürümünün kaldırıldığını gösterir:
release "my-nginx-ingress" uninstalled
Sonraki adımlar
Helm ile Kubernetes uygulama dağıtımlarını yönetme hakkında daha fazla bilgi için Helm belgelerine bakın.