Develop,Deploy and Debug AKS with VS Code Kubernetes Tools

By | 29 March 2020

Bu makalemde VS Code ile kullanabileceğiniz müthiş bir addon’dan bahsedeceğim. 😊 Müthiş diyorum çünkü gerçekten bu addon’u kullanarak VS Code üzerinden Kubernetes cluster’larınızı oldukça efektif şekilde yönetebiliyorsunuz.

Öncelikle tool’u tüm özellikleri ile efektif olarak kullanabilmek için sahip olmanız gereken iki Küçük tool var. Bunlarda tabiki docker ve kubectl.

Sonrasında da kullanacağınız platforma bağlı olarak bazı gereksinimler var. Örneğin Azure kullanacaksanız Azure subscription’ınız olması gibi 😊

Tabiki ben Azure kullanarak devam edeceğim. Local olarak minikube de kullanabilirsiniz.

VS Code üzerindeki Kubernetes extension’ı gerçekten bazı şeyleri kolaylaştırmak için tasarlanmış. Yaml file’larını yasmak ve deploy etmek hiç bukadar kolay olmamıştı diyebilirsiniz. (Ben dedim açıkcası) Tool sayesinde çok hızlı şekilde Kubernetes manifest file’larınızı ve Heml chartlarınızı hazırlayıp clusterınız üzerine deploy edebilirsiniz.

Ayrıca deploy ettiğiniz uygulamalarınızı kolaylıkla debug edebilir ve event log’larını görüntüleyebilirsiniz.

Zaten kurulum oldukça basit. Extensions bölümünden install etmeniz yeterli olacaktır.

Bu işlemin ardından VSCode’un navigation bölümünende Kubernetes icon’unu göreceksiniz. Bu icon’a tıkladığınızda öncelikle var olan cluster’ınıza ait bilgileri girmeniz gerekir. Add seçeneği ile var olan cluster’ınızı platform seçerek ekleyebilirsiniz.

Yada direk olarak VSCode üzerinden “Create Cluster” seçeneğini seçerek yeni bir cluster oluşturabilirsiniz. Bu işlem belli adımlar sonucu aşağıdaki resimde görünen platformlardan birinde sizin için cluster oluşturacaktır.

Cluster oluşturma yada var olan cluster’ı ekleme işlemlerinin ardından VS Code üzerinden yönetim’e başlayabilirsiniz.

Örneğin cluster altındaki sekmelerde aşağıdaki gibi gezinebilir, node’ların durumlarını, üzerlerinde çalışna podları, podların ayrıntılarını,workload’ları ayrıntılı şekilde görüntüleyebilirsiniz.

Örneğin aşağıdaki resimde olduğu gibi, herhangi bir pod’u seçip üzerine sağ tıklayıp, hazır komutları çalıştırabilirsiniz. Örneğin pod’u get etmek için direk bu kısımdan Get seçeneğini seçebilirsiniz.

Bu işlem aşağıdaki gibi pod’a ilişkin get komutu ile alacağınız çıktıyı yapacaktır.

Diğer güzel özelliklerden birisi herhangi bir service’e,deployment’a,pod’a yada diğer bileşenlerden birisine tıkladığınız anda, bileşene ilgili konfigürasyonu içeren manifest dosyası açılacaktır. Buradan kolaylıkla bileşenin özelliklerini görebilirsiniz.

Örneğin yeni bir deployment yapmak istediğinizde boş bir yaml dosyası oluşturabilirsiniz. Ardından oluşturmak istediğiniz resource tipinin bir kaç harfini yazdığınızda IDE sizin için bunu tamamlayacaktır. Mesela aşağıdaki resimde deployment için “de” harflerini yazdığımda IDE deployment’mı diye seçenek getirmiştir.

The Kubernetes extension provides autocompletion, code snippets, and verification for the Kubernetes manifest file. For example, once you type ‘Deployment’, a manifest file with fundamental structure is autogenerated for you. You only need to enter your app name, image, and port manually.

Bu otomatik tamamlama ile oluşturmak istediğim resource tipini seçtiğimizde bize ilgili resource için gerekli olan şablon yaml’I sistem otomatik olarak oluşturacaktır. Burada yapılması gereken sadece belli kısımları editlemektir.

Bu özellik benim çok hoşuma giden bir özellik oldu. Her seferinde şablon yaml aramaya uğraşmadan bunun VSCode tarafından otomatik olarak oluşturulması büyük kolaylık 😊

Oluşturulan yaml file’ını deploy etmek istediğimde de CTRL+SHIFT+P ile Command Palette’I açıp yapacağım işlemi seçmem yeterli.

Örneğin aşağıda Create işlemi yapacağımı söyledim. Sonrasında hazırlamış olduğum deployment yaml’ı cluster üzerine deploy edildi.

Deployment’ları kontrol ettiğimizde uygulamanın aşağıdaki gibi deployment altında listelendiğini görebilir siniz.

Tabi kullandıkça bu extension’ın size hız kattığını keşfedeceksiniz. Ben şimdiden tüm cihazlarımdaki VSCode aracıma bu extension’I yükledim. Bundan sonrada yoğun şekilde kullanağım gibi duruyor😊

Görüşmek üzere.

Fırat

Leave a Reply