:!: Let op! deze documentatie is nog volop in ontwikkeling :!:

Openshift Command Line Interface

De CLI is beschikbaar voor Windows, MacOS en Linux en is hier te downloaden

Nadat je met ingelogd op de host maak je gebruik van het “oc” commando die je met de bovenstaande link kan installeren.

Meestal kun je, als je met “oc get” ergens informatie over kan opvragen, met “oc describe” uitgebreidere informatie opvragen. Over het algemeen is het “OC” commando zo ingedeeld:

oc <handeling> <resource-type> [<naam (optioneel)>]
#EXAMPLE:
oc get project myproject1 

In MacOS en Linux kun je gebruik maken van tab completion, voor verschillende beschikbare shell's kun je de completion file genereren. Bijv. voor BASH onder MacOS:

oc completion bash > ~/.bash_oc_completion
#direct inladen
source ~/.bash_oc_completion
#permanent inladen, kopieer de file naar de bash_completion directory
cp ./bash_oc_completion /usr/local/etc/bash_completion.d/oc

Inloggen op de betreffende Openshift omgeving gaat via

commando opties beschrijving
oc login -u <user> <openshift_master_url> inloggen in openshift
oc whoami laat zien als welke user je bent ingelogt
oc project laat zien in welk project je werkt
#bijvoorbeeld: 
oc login -u gebruiker https://master.chp.npohosting.nl:8443/

Project Management

commando opties beschrijving
oc projects Laat beschikbare projecten zien
oc new-project Maak een project aan
oc project Laat zien in welk project je momenteel werkt
oc project <project_name> Verander je huidige workspace naar een ander project

Gebruikers rechten geven of ontnemen binnen projecten

Note : alleen een project admin kan deze commando's uitvoeren

Deze commando's zijn bedoeld om gebruikers en groepen toegang te geven tot een project.

Beschikbare rollen :

Role Omschrijving
admin Een gebruiker die edit rechten heeft binnen het project en de mogelijkheid heeft om project memberships aan te passen
edit Een gebruiker die meeste resources kan maken en aanpassen binnen het project, maar kan niet de project memberships aan passen
view Een gebruiker die het project kan bekijken, maar kan geen resources aanpassen en kan geen secrets of memberships zien in het project
  • Voeg project rol toe aan gebruiker
oc policy add-role-to-user <role> <user>
  • Voeg project rol toe aan groep
oc policy add-role-to-group <role> <group>
  • Verwijder project rol van gebruiker
oc policy remove-role-from-user <role> <user>
  • Verwijder project rol van groep
oc policy remove-role-from-group <role> <group>
  • Laat zien welke rollen er uitgedeeld zijn in het project
oc get rolebinding

Bijvoorbeeld, je wilt gebruiker

Status en informatie binnen je project

commando opties beschrijving
oc status laat alle services, deployment configs, build configurations, en actieve deployments zien binnen je project
oc logs -f Logs tonen van een object
-f voor persistent (vergelijkbaar met tail -f)
oc get ev events tonen van het hele cluster
oc get all list alle resource types binnen je project
oc describe
oc get pods -o wide list alle pods (zoals met ps)
-o wide voor meer opties

Troubleshooting & debugging

  • Direct vanaf je werkstation connectie maken. Zet een portforward op naar een pod:
oc port-forward <pod_name> <listen_port>:<port_in_pod>
# example mysql : oc port-forward mysql-1-ghb5q 6001:3306
mysql -p 6001 -h localhost -u <mysql_user> -p<mysql_pass> <mysql_database>

* Direct commando's binnen een container uitvoeren

oc exec <pod> [-c <container> (optioneel] <commando>

Netwerk-gerelateerd

commando opties beschrijving
oc get svc list alle services binnen je project
oc expose –hostname Route creëren
(zonder –hostname wordt het <route-name>-<project-name>.<default-domain> )
  • chp/cli.txt
  • Last modified: 2019/05/28 10:47
  • (external edit)