Aracılığıyla paylaş


Helm ile mevcut uygulamaları yükleme

Ş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:

Ö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.