Openshift Kurulumu ile Kubernetes

Ubuntu 20.04

Deniz TÜRKMEN
6 min readSep 29, 2022

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.

--

--

Deniz TÜRKMEN
Deniz TÜRKMEN

Responses (2)