AKS ile Kubernetes köprüsünü kullanma
Not
Microsoft artık Kubernetes Köprüsü projesini etkin bir şekilde korumayı planlamaktadır. Önümüzdeki birkaç ay içinde projeyi arşiv durumuna geçireceğiz. Bu arada, proje hala kullanılabilir ve indirilebilir. Bu süre boyunca, gelecekteki kullanımınız için Bridge to Kubernetes'e benzer avantajlar sağlayan topluluk projelerini keşfetmeyi ve önermeyi umuyoruz. Sorularınız varsa lütfen GitHub'daki sorun panomuzdan bizimle iletişime geçin.
Bu öğreticide, Azure Kubernetes Service (AKS) kümesinin parçası olan tek bir podda yerel olarak hata ayıklamak için Kubernetes'e Köprü kullanmayı öğrenmek için belirli bir AKS örnek mikro hizmetler web uygulamasını kullanacaksınız.
Başlamadan önce
Bu kılavuz, geliştirme bilgisayarınızı AKS'de çalışan bir Kubernetes kümesine bağlamayı göstermek için Todo Uygulaması örnek uygulamasını kullanır. Zaten bir Kubernetes kümesinde çalışan kendi uygulamanız varsa bkz . Kubernetes ile geliştirme. Yerel olarak çalışan MiniKube gibi başka bir küme kullanıyorsanız bkz . Bir örnekle Kubernetes'e Köprü kullanma.
Önkoşullar
- Azure aboneliği. Azure aboneliğiniz yoksa ücretsiz hesap oluşturabilirsiniz.
- Yüklü Azure CLI.
- macOS, Windows 10 veya Linux üzerinde çalışan Visual Studio Code .
- Visual Studio Code'da yüklü Olan Kubernetes Köprüsü uzantısı.
Kubernetes kümesi oluşturma
Desteklenen bir bölgede AKS kümesi oluşturma. Aşağıdaki komutlar adlı MyResourceGroup
bir kaynak grubu ve adlı MyAKS
bir AKS kümesi oluşturur.
az group create \
--name MyResourceGroup \
--location eastus
az aks create \
--resource-group MyResourceGroup \
--name MyAKS \
--location eastus \
--node-count 3 \
--generate-ssh-keys
Örnek uygulamayı yükleme
Kodu indirme ve bağımlılıkları yükleme
git clone https://github.com/hsubramanianaks/b2k-samples
cd b2k-samples/todo-app
npm install stats-api\
Kümenize bağlanma ve uygulamayı dağıtma
Geliştirme bilgisayarınızda, kullanarak az aks get-credentials
Kubernetes kümenize bağlanmak için Kubernetes CLI'yi indirin ve yapılandırın.
az aks get-credentials --resource-group MyResourceGroup --name MyAKS
kubectl create namespace todo-app
kubectl config set-context --current --namespace=todo-app
kubectl apply -f deployment.yaml --namespace todo-app
Uygulamayı deneyin
Daha önce kullandığınız terminalde aşağıdaki komutu çalıştırın ve Dış IP sütunu altında ön uç hizmetinin IP'sini kopyalayın.
kubectl get services
Uygulamayı denemek için url'yi açın: {your external IP from above command goes here}.nip.io
stats-api hizmetinde hata ayıklama
Daha önce kullandığınız terminalde aşağıdaki komutu yazarak STATS-API'yi VS Code'da açın.
code ./stats-api
İlk olarak, 17. satırına server.js
bir kesme noktası yerleştirin.
Ardından, kümedeki ad alanının varsayılan olarak ayarlandığından todo-app
MyAKS
emin olun (yanında * varsa). Varsayılan olarak ayarlanmamışsa, todo-app düğümüne sağ tıklayın ve Ad Alanını Kullan'ı seçin.
Ardından, köprüyü yapılandırın: Komut Paleti'ni (Mac'te CTRL+SHIFT+P veya Cmd+Shift+P) açın ve Kubernetes'e Köprü yazın. Kubernetes Köprüsü: Yapılandır seçeneğini belirleyin.
Değiştirmek istediğiniz hizmeti, geliştirme bilgisayarınızdan iletecek bağlantı noktasını ve kullanılacak başlatma görevini yapılandırmanız istenir.
stats-api
Hizmeti seçin.
Önemli
Yalnızca tek bir podu olan hizmetleri yeniden yönlendirebilirsiniz.
Hizmetinizi seçtikten sonra yerel uygulamanız için TCP bağlantı noktasını girmeniz istenir. Bu örnek için 3001 girin.
Başlatma görevi olarak Betiği Çalıştır: geliştirme'yi seçin.
Yalıtılmış veya yalıtılmış olmayan çalıştırma seçeneğiniz vardır. Yalıtılmış çalıştırırsanız, yalnızca istekleriniz yerel işleminize yönlendirilir; diğer geliştiriciler etkilenmeden kümeyi kullanabilir. Yalıtılmış çalıştırmazsanız, tüm trafik yerel işleminize yönlendirilir. Bu seçenek hakkında daha fazla bilgi için bkz . Yalıtımlı geliştirme için yönlendirme özelliklerini kullanma. Bu örnekte yalıtılmamış olarak devam ediyoruz. Yalıtım seçtiyseniz, task.json isteği makinenize yönlendirmek için kullanmanız gereken ön eke sahiptir.
Not
Sonraki başlatmalarda, bu kurulumdan geçmeden ve hizmet adı, bağlantı noktası, başlatma görevi veya yalıtılmış çalıştırılıp çalıştırılmayacağı sorulmadan hata ayıklama simgesine tıklamanız gerekir. Bu değerler içinde .vscode/tasks.json
kaydedilir. Bu ayarları daha sonra değiştirmek için Komut Paleti'ni (Mac'te CTRL+SHIFT+P veya Cmd+Shift+P) açın ve Kubernetes Köprüsü: Yapılandır komutunu çalıştırın.
Kubernetes'e Köprü hata ayıklama profili başarıyla yapılandırıldı.
Hata ayıklamaya başlamak için soldaki Hata Ayıkla simgesini seçin ve Betiği Çalıştır: Kubernetes ile geliştirme'yi seçin. Betiği Çalıştır: Kubernetes ile geliştirme seçeneğinin yanındaki başlangıç düğmesine tıklayın.
Not
EndpointManager'ın yükseltilmiş bir şekilde çalışmasına ve konak dosyanızı değiştirmesine izin vermeniz istenir.
VS Code durum çubuğu turuncuya döndüğünde ve Kubernetes uzantısı bağlı olduğunuzu gösterdiğinde geliştirme bilgisayarınız bağlanır. Geliştirme bilgisayarınız bağlandıktan sonra, değiştirdiğiniz stats-api için trafik geliştirme bilgisayarınıza yeniden yönlendirmeye başlar.
Daha önce {your external IP from get services command}.nip.io
bulduğunuz dış IP üzerinden uygulamanızın ön uç giriş noktasına gidin. Yalıtım modunu seçtiyseniz kullanmanız {your prefix - can be found in task.json}.{your external IP from get services command}.nip.io
gerektiğini unutmayın.
İstatistikler bağlantısını seçerek stats-api'ye bir istekte bulunabilirsiniz.
Kümenizde başlangıçta başlatılan trafiğin, kesme noktasının tetiklendiği yerel olarak çalışan sürümünüze (küme dışında) yeniden yönlendirildiğine dikkat edin.
Yürüt'e basın ve isteğin şeffaf bir şekilde tamamlanmasını sağlayın.
Temizleme
Hata ayıklayıcıyı durdurduğunuzda kümedeki tüm değişiklikler geri döndürülür. Yalıtım açık olarak çalışıyorsanız, bir sonraki seferde hata ayıklayıcının başlangıcını hızlandırmak için yönlendirme yöneticisi podunun orada bırakılacağını unutmayın.
Aks kümenizi daha sonra hata ayıklamak için açık bırakabilir veya aşağıdaki komutla silebilirsiniz.
az aks delete --name MyAKS --resource-group MyResourceGroup
Sonraki adımlar
Bridge to Kubernetes hakkında daha fazla bilgi için bkz . Kubernetes Köprüsü nasıl çalışır?