OpenShift Deployment Operations: Difference between revisions
Line 69: | Line 69: | ||
{{External|https://docs.openshift.com/container-platform/3.6/dev_guide/deployments/basic_deployment_operations.html#assigning-pods-to-specific-nodes}} | {{External|https://docs.openshift.com/container-platform/3.6/dev_guide/deployments/basic_deployment_operations.html#assigning-pods-to-specific-nodes}} | ||
==Assigning a Pod to Nodes that Match a Node Selector== | ==Assigning a Pod to Nodes that Match a Node Selector== |
Latest revision as of 09:59, 7 December 2017
External
Internal
Overview
View Deployment Controllers for Project
oc get dc
View the Latest Deployment for a Deployment Controller
oc deploy <deployment-controller-name>
For each on-going deployment, there is a deployment pod, whose name can be inferred from the list of pods for the project:
oc get pods
View Deployment Logs
The log of the deployment can be obtained from the deployment pod:
oc get pods NAME READY STATUS RESTARTS AGE ... <dc-name>-1-deploy 1/1 Running 0 7m
then:
oc logs -f <dc-name>-1-deploy
The same log can be obtained from the deployment itself:
oc logs -f dc/<dc-name>
View Deployment Events
oc describe dc <dc-name>
Create a New Deployment
Create a New Deployment with oc new-app
oc new-app creates all the objects required by an application, including a deployment configuration. See:
Create a New Deployment Manually
Use a deployment configuration template similar to https://github.com/NovaOrdis/playground/blob/master/openshift/templates/eap7-deployment-configuration-template.yaml. Copy it locally and adjust, then:
oc process -p APPLICATION_NAME=<some-app-name> -f ./eap7-deployment-configuration-template.yaml | oc create -f -
Starting a Deployment
oc rollout latest dc/<deploymentconfig-name>
This will start the number of replicas specified in ?
oc scale dc logging-es-3fs5ghyo --replicas=1
scaling the pod instead of the deploymentconfig may modify the deployment config. Verify
Assigning Pods to Specific Nodes
Assigning a Pod to Nodes that Match a Node Selector
Edit the DeploymentConfig that defines the pod:
oc edit dc/<pod-name>
Inject the node selector specification under
spec: ... template: ... spec: ... nodeSelector: keyA: valueA
Restart the corresponding pod, by simply deleting it.
For more details on concepts related to pod placement, see:
Turn Off Auto-Deployment After Build
oc set triggers dc/<deployment-config-name> --remove-all
Deleting a Deployment Configuration
oc delete dc/<dc-name>
Deleting a deployment configuration will also automatically delete the replication controllers generated by that deployment configuration.
Scaling Down a Deployment
oc scale dc/sonar --replicas 0 oc scale dc/sonar-postgresql --replicas 0