Auto Deployment of NSX-T 2nd and 3rd manager deployment failed/hanged

Actually this is very stupid situation maybe you could face with this issue

After first NSX-T 3 Manager deployment 2nd and 3rd deployments are done by NSX-T Manager UI. Somehow when trigger auto deployment installation hang %1.

When I check from vCenter, yes there is an event for deployment but its 0% and time out after ..

After some investigation i saw that different dns servers are used for vCenter and NSX-T Manager and somehow DNS server which used for NSX-T Manager have zone record for domain and because of that zone do not have related records NSX-T Manager couldn’t resolve FQDN of vCenter and OVF upload never over and timed out …

After fix dns issue problem has been resolved …

etcd, rke etcd backup ve NFS ile K8s’e kalıcı disk bağlama

Yola etcd’nin yedeği nasıl alınıyor diye çıkmışken kısa bir etcd hakkında, daha sonra yedekleme ve birde kalıcı NFS disk alanı nasıl ayarlanıra kadar uzandım.

Belli ki etcd, K8s özelinde tutarlı, dağıtık sistemlerin dağıtık k/v saklama alanı olmaya devam edecek. Okudukca öyle gözüküyor ki özellikle Zookeeper gibi daha önceden var olan ürünlerin hem eksik taraflarını hedef almışlar, hemde boyut olarak büyümeye, yeni özelliklerle kendilerin öne çıkartıyorlar (MVCC gibi) ama yinede sadece K8s özellinde kalacaklar gibi her ne kadar CoreDNS, Rook , Openstack desteklese ve kullanım imkanı verse dahi, sanki zookeeper’ın Apache domain’inde kullanıldığı gibi etcd’de K8s domain’inde kullanılacak gibi.

Etcd son versiyonu 3.4, birçok yerde Zookeeper ve Java, Garbage Collection hakkında serzenişler var, haliyle GO ile yazılmış yeni model bir yazılım arkada yine Bolt adında farklı projelerden esinlenilmiş, yine GO ile yazılmış bir k/v veritabanı var.

Bu tip yazılımlar genelde koordinasyon için ve/veya belli başlı verileri tutmak için kullanıldıklarından uğraşacakları veri boyutları küçük. Etcd burada gigabyte seviyesinde yerlere taşıdığını, bunu gördükçe demekki daha çok verinin bu tip sistemlerde tutulması gerekeceği gibi hislere kapılıyor insan örneğin AliBaba Cloud’daki etcd tutacağı veri miktarının yüksek olması ve 40GB üzerinde birtakım performans sıkıntılarının olduğu ve bunun için Alibaba Cloud’un memory bazında boşalan ve boşta olan hafızanın kullanılması için yaptığı kod geliştirmeleri var.

Read the rest of this entry

VMware Cloud Director 10.1 Automatic Failover

After vCD 9.7 with a new name VMware Cloud Director 10.1 there is a support for set postgre Failover Mode: AUTOMATIC with repmgr

Looks like a new API is available, its VMware Cloud Director Appliance API version 1.0.0 and you could find out reference of API here.

Looks like its MANUAL right now …

People like me who forget everything about bash, go to console and set username, password variable make it base64 encoded and use curl for request to port 5480

BASIC_AUTH_USER=”your root username”
BASIC_AUTH_PASSWORD=’yourpassword’
AUTH=$(echo -ne “$BASIC_AUTH_USER:$BASIC_AUTH_PASSWORD” | base64)
Get it with echo $AUTH

Execute command below to set it automatic

curl -k -X POST -H "Accept: application/json" -H "Authorization: Basic yourbase64" "https://yourcellip:5480/api/1.0.0/nodes/failover/automatic"

Lets check it from GUI

Thats it , now time to play on it 😀

Cehennem’in Dümeni

Evet başlık biraz Hollywood filmleri gibi oldu, başrolde Harrison Ford beklentisi 🙂 ancak bu makalede tek anlatmak istediğim K8s üzerine uygulama yönetimi için kullanılan araçlardan biri olan Helm‘e bir giriş yapmak.

Helm, Kubernetes için geliştirilmiş bir paket yöneticisi, uygulamaları K8s üzerine kurmak, güncellemek, gerektiğinde silmek, bunları paylaşmak için kullanılıyor.

Linux kullanıcıları için Centos’da yum, Ubuntu’da apt gibi veya Docker Hub gibi herkesin paylaşıp uygulamaları kuracağı bir repo’su var Helm Hub. Helm paket formatına chart deniyor.

Normalde K8s üzerinde bir uygulama kurmak için öncelikle bir deployment.yaml, uygulamayı dışarıdan erişilebilir kılmak için service.yaml dosyasına ek olarak belki birtakım değerleri değişkenlerle set etmek için variable.yaml , configMap ve secrets bilgilerine ihtiyacımız olacak , işte Helm bize bütün bunların birleştirerek bir şablon oluşturmamızı ve bunun güncellenebilir, tekrar kullanılabilir, hatta paylaşabilir kılıyor.

Read the rest of this entry

RKE ile Kubernetes Kurulumu ve Güncelleme

Akşamın 11:00’i tam Star Trek Enterprise izlerken aklımda dolaşan RKE ile bu K8s kurulumu nasıl yapılıyor diye bir bakamak istedim.

Çok iyi bilmiyorum RKE’yi fakat K8s kurulumu için çok yöntem olduğunu biliyorum kubeadm, kubesprey, kops her birinin farklılıkları mevcut, destekledikleri hyperscaler adledilen sağlayıcılara göre, K8s Control Plane’i HA kurmalarına göre, otomasyon araçları kullanmaları ve birbirlerini kapsadıklarına göre.

RKE nedir diye baktığımda, bu opsiyonların üzerine daha basit, daha hızlı bir kurulum sağladığını söylüyor, sadece tek bir çalıştırılabilirle ki adı “rke” yeterli, fakat sizden tek istediği şey, modern bir Linux dağıtımı ve yine modern bir Docker dağıtımı, RKE eski modayı sevmiyor 🙂

Daha hızlı bir kurulum çünkü Rancher tüm servisleri Dockerize yapmış, bilenler için aynı Openstack Kolla-Ansible ile Openstack kurmak gibi. İlgili imajları cluster.yaml oluşturduğunuzda “system image” kısmında görebilirsiniz.

Hemen mayalamaya başlıyorum macOS üzerinde RKE için , makinemi workstation olarak kabul edin. Yine bu makine üzerinde K8s’i yönetmek için kubectl ve üzerine Rancher UI kurmak için aynı zamanda helm’de kurulu olduğunu varsayın.

Vahrics-MacBook-Pro:~ vahricmuhtaryan$ brew install rke
Vahrics-MacBook-Pro:~ vahricmuhtaryan$ rke -version
rke version v1.1.1

Ubuntu veya Centos için;

wget https://github.com/rancher/rke/releases/download/v1.1.4/rke_linux-amd64

sudo mv rke_linux-amd64 rke

sudo mv rke /usr/local/bin/

sudo chmod +x /usr/local/bin/rke

sudo rke –version
rke version v1.1.4
*Farklı zamanlarda kurulmuş rke binary dosyaları

Bu kuracağım K8s kümesini HA mode’da kurmaya çalışacağım, fazlası için buraya (Implementation Notes) bakabilirsiniz.

Read the rest of this entry

Certificate is not always cause vCloud Director WebMKS Console “disconnect” issue

vCloud Director VM Console or WebMKS disconnect issue is not always about certificate, IP address of console proxy and port or Chrome issue 🙂

Don’t forget vCloud Director will try to establish connection to vSphere hosts via port tcp 902, check your firewall and connectivity first.

To debug, check the console-proxy file under the /opt/vmware/vcloud-director/logs folder.

For remember ;

  • global.properties file will help you to check out console proxy and vCD IP address, if you are using vCD Appliance there is always single IP address will be !
  • global.properties file will help you to check the port of console-proxy
  • if you are using load balancer in front of vCD, for console proxy there is an option like consoleproxy.external.address to describe LB IP address

VM

vCD 9.7, vCloud Director Appliance, Database High Availability ve repmgr

vCloud Director 9.5 ile beraber “vCD Cell” leri artık birer appliance olarak OVF formatında indirip kurabiliyorduk. Gereksinimler arasında dışarıdan ortak bir veritabanına (MSSQL ve PostgreSQL) , paylaşımlı disk alanına (NFS) ve birde mesaj kuyruk uygulamasına (RabbitMQ) gereksinim vardı.

vCD 9.7 ile beraber MSSQL veritabanı için artık ileride opsiyon dışı kalacağı ve OVF formatında gelen yeni vCD appliance üzerinde PostgreSQL gömülü olarak geldiği, hatta yedeklilik veya yüksek devamlılık kapsamında desteğinin olduğu yayınlandı (Bakınız sayfa 7) hatta ve hatta MSSQL’den PostgreSQL’e göç dahi mevcut.

Not : Zaten yıllardır VMware’in inatla Windows üzerine vCenter, MSSQL ve Oracle gibi DB zorlamalarının nedenini anlayamamış, halada standart işler için ekstra bir özelliğini kullanmayıp MSSQL ısrarında olup, maliyetten şikayet eden firmaları anlayamadığım gibi !

Daha önceki Linux üzerine yapılan vCD Cell kurulumlarında iki adet sertifika yaratmanız gerekiyordu, biri UI diğeride Proxy Console için, şimdi ise biz kurulumu vCD Appliance olarak yapacağımızdan self-signed sertifikalar üretilmiş gelecek, sadece UI ve PC için değil aynı zamanda vCD’nin PostgreSQL’e yine sertifika ile bağlanacak, sonra bu sertifikaları elinizdeki bir sertifika otoritesi tarafından imzalanmış olanla değiştirebileceğiz.

Read the rest of this entry

BGP ve NSX-T T0 Router’ı Provider Router’a Bağlamak

NSX-T ile beraber dinamik routing protokollerindede, yapıdada bir sadeleşme oldu. Artık OSPF veya IS-IS gibi protokoller, Logical Router Control VM’ler yok. Tek haşır neşir olacağımız BGP ve VRF ki VRF’lede bizim görünürde aktif olarak üzerinde yaptığımız bir şey yok.

Sistemciler için kısa bir özet geçelim BGP hakkında ;

*Not: Belirtilenlerin genel olarak BGP’i anlamak, birtakım terimlerden uzak kalmamak için yazılmıştır.
*Not : Aşağıdaki resimler açıklamalarda kullanılacaktır.

Resim 1
Read the rest of this entry

Daha yeni, daha yardım sever :) , GUI’si değişmiş :( , yeni Policy API’li NSX-T 2.4.1

Her versiyon yapılan GUI değişiklikleri aslında çok da iyi bişey değil gibi geliyor bana, insan bir interface’e alışıyor sonra birden hersey değişiyor, sizde kendinizi yeniden adapte etmek zorunda kalıyorsunuz.

Daha önceden NSX-T Manager ile üç adet Controller kuruyorduk, artık bu iki rolü birleştirmişler 😀 Artık bir VM kardayız. NSX-T Manager’ı kurduğunuzda ilk controller’ıda kurmuş oluyorsunuz.

Eksikleri anında görüp 🙂 sizi yönlendirmeye başlıyor, örneğin elimizde üç adet NSX-T Controller olması lazım bunu için hemen “Deploy Nodes” ‘a basıyoruz, bizi hemen yeni ekleyeceğimiz ekrana yönlendiriyor.

Read the rest of this entry

1500 MTU NSX-T Ortamında BAŞınıza Nasıl Dert AÇAbilir kİ ?!

Evet, daha önceki makalelerimde belirttiğim, ama böylede çalışıyor dediğim MTU konusunda baltayı taşa nasıl vurmuş olduğumu göstermek istedim.

Güzel güzel ping atabilirkene 1600 – 1500 sadece 100 birimlik bir fark fregmantasyonda nasıl bu kadar derin etki yapabilirdi ki ?

Bunu okuyan networkçü arkadaşlarımın aklından neler geçiyor acaba, hepsinde bin tane MTU problemi hikayesi vardır !

yum update sizlere ömür …

Gördüğünüz gibi “yum update” sırasında network bağlantı hatları alıyorsunuz, metadata dosyalarının index ve checksum dosyasını tutan repomd.xml’i bile indiremiyorum !!

Şimdi gerekli MTU değerini düzeltelim bakalı neler oluyor 😀

Hersey istediğimiz gibi …

NSX-T Edge Node kendi üzerinde enkapsülasyon yaptığı için bağlı olduğu vSwitch’de ilgili VSS veya VDS’de ve üzerinde koştuğu ESXi host’un bağlı olduğu switch port’larda MTU 9000 olarak set edilmeli ki bu tip durumlarla karşılaşılmasın.

VM