chp:cli

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

chp:cli [2020/01/20 13:13]
chp:cli [2020/05/20 05:30] (current)
Line 1: Line 1:
 +:!: Let op! deze documentatie is nog volop in ontwikkeling :!:
 +\\ \\
 +====== Openshift Command Line Interface ======
  
 +===== Download =====
 +De CLI is beschikbaar voor Windows, MacOS en Linux en is [[https://​github.com/​openshift/​origin/​releases/​latest|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:
 +<code bash>
 +oc <​handeling>​ <​resource-type>​ [<naam (optioneel)>​]
 +#EXAMPLE:
 +oc get project myproject1 ​
 +</​code>​
 +
 +===== Bash/tab completion =====
 +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: ​
 +<code bash>
 +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
 +</​code>​
 +
 +===== Inloggen =====
 +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 |
 +
 +<code bash>
 +#​bijvoorbeeld: ​
 +oc login -u gebruiker https://​master.chp.npohosting.nl:​8443/​
 +</​code>​
 +
 +
 +==== 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
 +<code bash>oc policy add-role-to-user <​role>​ <​user></​code>​
 +  * Voeg project rol toe aan groep
 +<code bash>oc policy add-role-to-group <​role>​ <​group></​code>​
 +  * Verwijder project rol van gebruiker
 +<code bash>oc policy remove-role-from-user <​role>​ <​user></​code>​
 +  * Verwijder project rol van groep
 +<code bash>oc policy remove-role-from-group <​role>​ <​group></​code>​
 +  * Laat zien welke rollen er uitgedeeld zijn in het project
 +<code bash>oc get rolebinding</​code>​
 +//​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 | |uitgebreidere informatie listen over een resource type
 +|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:
 +<code bash>
 +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>​
 +</​code>​
 + * Direct commando'​s binnen een container uitvoeren
 +<code bash>
 +oc exec <pod> [-c <​container>​ (optioneel] <​commando>​
 +</​code>​
 +
 +
 +==== 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>​ )|