Red Hat OpenShift: Difference between revisions
From wiki.vacula.xyz
(→Pods) |
|||
| Line 108: | Line 108: | ||
|oc run | |oc run | ||
|Create a single pod | |Create a single pod | ||
| | |oc create deployment | ||
| | |Includes replicas and other stuff | ||
|- | |- | ||
|oc exec -it /bin/bash | |oc exec -it /bin/bash | ||
| Line 137: | Line 137: | ||
|pod | |pod | ||
|One or more containers; represents a single app | |One or more containers; represents a single app | ||
|everything | |||
|No | |||
|- | |||
|deployment | |||
|Represents pod templates along with replica sets | |||
|Deploying pods with replicas | |||
|No | |||
|- | |||
|project | |||
|OpenShift's namespaces | |||
|RBAC | |||
|'''Yes''' | |||
|- | |||
|service | |||
|pod-to-pod networking + DNS | |||
| | | | ||
|No | |||
|- | |||
|PersistentVolumeClaim | |||
|persistent storage | |||
| | | | ||
|No | |||
|- | |||
|Secret | |||
|Configs or other data that needs to be kept secure | |||
|SSH keys, API keys, OAuth tokens, passwords | |||
|No | |||
|- | |- | ||
| | | | ||
| Line 148: | Line 173: | ||
=== Pods === | === Pods === | ||
* | * Runs a single app | ||
* Can include multiple containers | |||
* Containers within the pod can share storage/networking | |||
=== Anki Questions === | === Anki Questions === | ||
Revision as of 19:31, 4 August 2026
Commands
| Command | Used for... | Notes |
|---|---|---|
| oc whoami | See who you are logged in as | |
| oc login | Log in to the cluster | Defaults to using a web login, but user/pass can be provided over the command line |
| oc new-project | Create a new project (namespace) | |
| oc describe | Get detailed information on a resource instance | |
| oc explain | Get documentation on a resource object | |
| oc api-resources | Get a list of all API resources | --api-group can be used to limit to certain API groups |
| oc adm top | Get resource usage on pods and similar | --sum will show a sum of resource usage |
| oc events | Get high-level logs | Helpful for things like image pull or pvc issues |
| oc debug | Open a shell session in the pod or node | Uses the first container by default, but as a copy; can also be used to log in to physical nodes |
| oc rsh | Open a shell session in a pod | Simpler version of `oc exec` |
| oc attach -it | Connect and create an interactive session with a pod | |
| oc port-forward | Expose a pod's port on the localhost | |
| oc image | Get info about an image | |
| oc edit | Make an edit to a resource's YAML and apply it | Useful for modifying the resource easily or in multiple ways |
| oc patch | Make an edit to a resource's field and apply it | Useful for very specific edits |
| oc cp | Copy a file into or out of a pod | |
| oc rsync | Copy a file into or out of a pod | Requires the rsync binary on both host and pod container |
| skopeo list-tags | List all tags for a given image | |
| skopeo inspect | Get image info like env variables and tags |
Commands to avoid using:
| Command | Used for | Use instead | Because |
|---|---|---|---|
| oc run | Create a single pod | oc create deployment | Includes replicas and other stuff |
| oc exec -it /bin/bash | Open remote connection | oc rsh | Simpler |
Important Resource Types
| Resource | Description | Useful for... | OS Only? |
|---|---|---|---|
| template | YAML manifest of multiple resources | creating multiple resources at once | Yes |
| pod | One or more containers; represents a single app | everything | No |
| deployment | Represents pod templates along with replica sets | Deploying pods with replicas | No |
| project | OpenShift's namespaces | RBAC | Yes |
| service | pod-to-pod networking + DNS | No | |
| PersistentVolumeClaim | persistent storage | No | |
| Secret | Configs or other data that needs to be kept secure | SSH keys, API keys, OAuth tokens, passwords | No |
Pods
- Runs a single app
- Can include multiple containers
- Containers within the pod can share storage/networking
Anki Questions
- What is <resource>?
- What command should be used to <action>?
- Where is <resource> useful compared to similar ones?