Openshift Kurulumu ile Kubernetes
Ubuntu 20.04
Merhabalar,
Bu yazımda Ubuntu 20.04 üzerine Openshift Origin kurulumunu inceliycez. Yazımıza Openshift nedir ile başlayalım.
Openshift: Üzerinde web uygulamaları çalıştırmamızı sağlar. Openshift UI sayesinde python, java, go, ruby, .net, php gibi programlama dilleri ile geliştirilmiş uygulamaları kurup kullanmamıza imkan sağlayan open source container orkestrasyon aracı ve PaaS(Platform As a Services) çözümüdür. Openshift Docker container’ların üzerinde koşması için oluşturulmuş Kubernetes’in daha kolay yönetilebilmesi, hızlı uygulama geliştirme, deployment ve yaşam döngüsünü yönetmek için geliştirilmiş bir araçtır. Dört sürümü mevcuttur.
- Origin: Open Source için kullanılan versiyonudur.
- Online: Public uygulama geliştirme için kullanılan versiyonudur
- Dedicated: Cloud sistemler için kullanılan versiyonudur
- Enterprise: On-prime olarak kullanılan versiyonudur.
İlk olarak docker kurulumu yapıyoruz. Docker’ı ubuntu üzerine iki farklı yol ile kurabiliriz.
1.yol: Script çalıştırarak docker son sürümünü kurabiliriz.
curl -fsSL https://get.docker.com -o get-docker.shsh get-docker.sh
2. yol: Aşağıdaki komutları terminal sırası ile çalıştırarak kurulumu tamamlayabiliriz.
sudo apt-get updatesudo apt-get install -y \apt-transport-https \ca-certificates \curl \gnupg \lsb-releasecurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg — dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho \ “deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update
Docker son sürmünü yüklemek için;
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
Specific bir docker versiyonu yüklemek için,
apt-cache madison docker-cesudo apt-get install docker-ce=VERSION docker-ce-cli=VERSION containerd.io -y
Daha sonra docker servisi enable edip restart ediyoruz.
sudo systemctl daemon-reloadsudo systemctl restart dockersudo systemctl enable dockersudo systemctl status docker
Docker komutlarını root olmadan çalıştırmak için;
sudo groupadd dockersudo gpasswd -a $USER dockernewgrp docker
Son olarak da docker versiyonu bakıp kurulumu doğrulamak için;
docker version
Sıra geldi openshift origin kurmaya, bunun için ilk olarak github repository’sinden openshift origin indiriyoruz.
wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
İndirdiğimiz .tar uzantılı dosyayı açmak için,
tar -xvzf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Çıkardığımız dosya içersinde kubectl ve openshift binaries /usr/local/bin klasörüne taşıyoruz.
cd openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit
sudo cp oc kubectl /usr/local/bin/
Openshift Client Utility kurulumunu doğrulamak için;
oc version
Yukarıdaki çıktıda görüldüğü gibi başarılı şekilde Openshift Client kurulumu tamamlanmıştır.
Şimdide yeni bir tane daemon.json dosyası oluşturmalıyız ve docker registry kullanmak için izin vermeliyiz.
sudo vim /etc/docker/daemon.json açıyoruz ve aşağıdaki dosyayı kaydedip çıkıyoruz.
{
"insecure-registries" : [ "172.30.0.0/16" ]
}
Dosyayı kaydedikten sonra docker servisine restart atıyoruz.
sudo systemctl restart docker
Cluster başlatmak komutlarına bakmak için;
oc cluster --help
Openshift Origin Cluster başlatmak için;
oc cluster up --public-hostname=your-server-ip
ve aşağıdaki gibi bir çıktı alındıysa başarılı şekilde gerçekleşmiştir.
Aşağıdaki komut ile userınızı admin seviyesinde oturum açalım.
oc login -u system:admin
default projeye geçelim ve statusune bakalım;
oc project defaultoc status
Openshift üzerinde yeni bir proje oluşturmak için,
oc login
Username: developer
Password: kendimiz belirliyoruz.
Yeni bir proje oluşturalım.
oc new-project dev --display-name="New Project — Dev" --description=”My Project”
Tarayıcıdan 192.168.1.23:8443 gittiğimizde,
Username: developerPassword: belirlediğimiz şifre
Görüldüğü gibi başarılı şekilde Openshift UI giriş yapmış bulunmaktayız.
- Create Project diyerek yeni bir proje oluşturuyoruz.
Son olarak bir tane deployment gerçekleştirelim. İster Openshift UI dan istersenizde terminal ekranından yapabilirsiniz. Biz terminal üzerinden devam edeceğiz. İlk olarak login oluyoruz.
oc login
oc project deniz-test
ile Openshift UI’dan oluşturduğumuz deniz-test projesine geçiş yapıyoruz.
- Docker Hub taki bir image tag leyelim.
- Image deploy edelim.
oc tag --source=docker openshift/deployment-example:v2 deployment-example:latestoc new-app deployment-example
- Statüsüne bakalım
oc status
- Service bakalım
oc get svc
- Deployment detaylarına bakmak için,
oc describe svc deployment-example
- Pod’a bakmak için,
oc get pods
- Servisi expose etmek için,
oc expose service/deployment-example
- Yönlendirmeye bakmak için,
oc get routes
Tarayıcıdan, deployment-example-deniz-test.192.168.1.32.nip.io host’ gittiğimizde
Görüldüğü gibi başarılı şekilde deployment gerçekleşmiştir.
Ayrıca terminalden yapılan tüm işlemleri Openshift UI’dan da yapabiliriz. Bunun için,
- Image indirmek için,
- ImageName seçip Docker hub ta bulunan bir image ismini yazıp arama yapıyoruz ve bulunca deploy diyoruz.
- Image çektikten sonra kontrol etmek için,
- Şimdide service bir route eklemek için Applications sekmesinden services sekmesine geçiyoruz ve create routes tıklıyoruz.
- hostname ve path girdikten sonra create diyoruz.
- Routes sekmesinden baktığımızda,
Son olarak da routes kontrol etmek için, verdiğimiz hostname denizturkmen.com gidiyoruz.
Yapılan tüm işlemleri Monitoring sekmesinden görebiliriz.
Bu yazımızın da sonuna gelmiş bulunmaktayız. Araştırmalarım ve sektörde karşılaştığım senaryolar üzerine yazılarımı yazmaya devam edeceğim. Umarım faydalı bir yazı olmuştur. Yazımı okuduğunuz için teşekkürler.
Referanslar;