OpenShift - CLI

OpenShift CLI, OpenShift uygulamalarını komut satırından yönetmek için kullanılır. OpenShift CLI, uçtan uca uygulama yaşam döngüsünü yönetme yeteneğine sahiptir. Genel olarak, OpenShift ile iletişim kurmak için bir OpenShift istemcisi olan OC'yi kullanırdık.

OpenShift CLI Kurulumu

OC istemcisini farklı bir işletim sistemi üzerinde kurmak için, farklı adımlar dizisinden geçmemiz gerekir.

Windows için OC Client

Step 1 - Aşağıdaki bağlantıdan oc klibi indirin https://github.com/openshift/origin/releases/tag/v3.6.0-alpha.2

Step 2 - Makinede bir hedef yolda paketi açın.

Step 3 - Sistemin yol ortam değişkenini düzenleyin.

C:\Users\xxxxxxxx\xxxxxxxx>echo %PATH%

C:\oraclexe\app\oracle\product\10.2.0\server\bin;C:\Program Files 
(x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files 
(x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\
v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files 
(x86)\ATI Technologies\ATI.ACE\C

ore-Static;C:\Program Files\Intel\Intel(R) Management Engine 
Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine 
Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;

Step 4 - Windows'ta OC kurulumunu doğrulayın.

C:\openshift-origin-client-tools-v3.6.0-alpha.2-3c221d5-windows>oc version
oc v3.6.0-alpha.2+3c221d5
kubernetes v1.6.1+5115d708d7
features: Basic-Auth

Mac OS X için OC Client

Windows ile aynı konum için Mac OS kurulum ikili dosyalarını indirebilir ve daha sonra onu bir konumda açıp PATH ortam değişkeni altında bir yürütülebilir dosya yolu belirleyebiliriz.

Alternatively

Home brew'ı kullanabilir ve aşağıdaki komutu kullanarak kurabiliriz.

$ brew install openshift-cli

Linux için OC İstemcisi

Aynı sayfanın altında kurulum için kullanılabilecek Linux kurulumu için tar dosyamız var. Daha sonra, söz konusu çalıştırılabilir konuma işaret eden bir yol değişkeni ayarlanabilir.

https://github.com/openshift/origin/releases/tag/v3.6.0-alpha.2

Aşağıdaki komutu kullanarak tar dosyasını paketinden çıkarın.

$ tar –xf < path to the OC setup tar file >

Kimlik doğrulamayı kontrol etmek için aşağıdaki komutu çalıştırın.

C:\openshift-origin-client-tools-v3.6.0-alpha.2-3c221d5-windows>oc login
Server [https://localhost:8443]:

CLI Yapılandırma Dosyaları

OC CLI yapılandırma dosyası, birden çok OpenShift sunucu bağlantısını ve kimlik doğrulama mekanizmasını yönetmek için kullanılır. Bu yapılandırma dosyası aynı zamanda birden çok profili depolamak ve yönetmek ve bunlar arasında geçiş yapmak için de kullanılır. Normal bir yapılandırma dosyası aşağıdaki gibi görünür.

$ oc config view
apiVersion: v1
clusters:
   - cluster:
      server: https://vklnld908.int.example.com
   name: openshift
   
contexts:
- context:
   cluster: openshift
   namespace: testproject
   user: alice
   name: alice
current-context: alice
kind: Config
preferences: {}
users:
- name: vipin
   user:
      token: ZCJKML2365jhdfafsdj797GkjgjGKJKJGjkg232

CLI İstemcisini Ayarlama

Kullanıcı kimlik bilgilerini ayarlamak için

$ oc config set-credentials <user_nickname>
[--client-certificate = <path/to/certfile>] [--client-key=<path/to/keyfile>]
[--token = <bearer_token>] [--username = <basic_user>] [--password = <basic_password>]

Küme ayarlamak için

$ oc config set-cluster <cluster_nickname> [--server = <master_ip_or_fqdn>]
[--certificate-authority = <path/to/certificate/authority>]
[--api-version = <apiversion>] [--insecure-skip-tls-verify = true]

Misal

$ oc config set-credentials vipin --token = ZCJKML2365jhdfafsdj797GkjgjGKJKJGjkg232

Bağlamı ayarlamak için

$ oc config set-context <context_nickname> [--cluster = <cluster_nickname>]
[--user = <user_nickname>] [--namespace = <namespace>]

CLI Profilleri

Tek bir CLI konfigürasyon dosyasında, her bir profilin farklı bir OpenShift sunucu konfigürasyonuna sahip olduğu ve daha sonra farklı CLI profilleri arasında geçiş yapmak için kullanılabilecek birden fazla profilimiz olabilir.

apiVersion: v1
clusters: --→ 1
- cluster:
   insecure-skip-tls-verify: true
   server: https://vklnld908.int.example.com:8443
   name: vklnld908.int.example.com:8443
- cluster:
   insecure-skip-tls-verify: true
   server: https://vklnld1446.int.example.com:8443
   name: vklnld1446.int.example.com:8443
contexts: ---→ 2
- context:
   cluster: vklnld908.int.example.com:8443
   namespace: openshift-project
   user: vipin/vklnld908.int.example.com:8443
   name: openshift-project/vklnld908.int.example.com:8443/vipin
- context:
   cluster: vklnld908.int.example.com:8443
   namespace: testing-project
   user: alim/vklnld908.int.example.com:8443
   name: testproject-project/openshift1/alim
current-context: testing-project/vklnld908.int.example.com:8443/vipin - 3
kind: Config
preferences: {}

users:
- name: vipin/vklnld908.int.example.com:8443
user: ---→ 4
   token: ZCJKML2365jhdfafsdj797GkjgjGKJKJGjkg232

Yukarıdaki yapılandırmada, OpenShift ana makinelerinin iki örneğini tanımlayan kümeden başlayarak dört ana bölüme ayrıldığını görebiliriz. İkinci bağlam bölümü, vipin ve alim adlı iki bağlamı tanımlar. Geçerli bağlam, şu anda hangi bağlamın kullanımda olduğunu tanımlar. Buradaki tanımı değiştirirsek, başka bir bağlam veya profile değiştirilebilir. Son olarak, bizim durumumuzda vipin olan kullanıcı tanımı ve kimlik doğrulama belirteci tanımlanır.

Kullanımdaki mevcut profili kontrol etmek istersek, bunu kullanarak yapılabilir -

$ oc status
oc status
In project testing Project (testing-project)
$ oc project
Using project "testing-project" from context named "testing-
project/vklnld908.int.example.com:8443/vipin" on server "https://vklnld908.int.example.com:8443".

Diğer CLI'ya geçmek istersek, aşağıdaki komut kullanılarak komut satırından yapılabilir.

$ oc project openshift-project
Now using project "Openshift-project" on server "
https://vklnld908.int.example.com:8443".

Yukarıdaki komutu kullanarak profiller arasında geçiş yapabiliriz. Herhangi bir zamanda, yapılandırmayı görmek istersek, $ oc yapılandırma görünümü komutunu kullanabiliriz.