关于DeploymentConfig的思考

 为什么是deploymentconfig而不是Kubernetes的deployment

 在new-app的时候openshift直接创建了一个deploymentconfig并部署成rc,开始并不理解为什么要这么做,后来看到下面这个命令才大概明白,原因主要有两点:

  • deployment并不具备回滚的功能,如果部署到一个版本就无法回滚到上一个版本或者更前一个版本了,而dc有个revision,同时保留了之前部署版本的配置。如下:

如果回滚可以通过下面命令

oc rollback openshift-tomcat --to-version=2
  • 创建new-app的时候除了创建dc,还会创建一个服务,名字和app名字一样

如果需要在容器运行前就带入环境变量

oc new-app openshift-tomcat --name=openshift-tomcat --env DEPLOY_MODE=stg

带入多个

C:\minishift-1.26.1-windows-amd64>oc new-app openshift-tomcat --name=openshift-tomcat --env DEPLOY_MODE=stg  SITE=sz
warning: Cannot find git. Ensure that it is installed and in your path. Git is required to work with git repositories.
--> Found image a4dc2a4 (6 hours old) in image stream "myproject/openshift-tomcat" under tag "latest" for "openshift-tomcat"

    temp.builder.openshift.io/myproject/openshift-tomcat-3:d91ff45d
    ---------------------------------------------------------------
    Platform for building and running JEE applications on Tomcat

    Tags: builder, tomcat

    * This image will be deployed in deployment config "openshift-tomcat"
    * Port 8080/tcp will be load balanced by service "openshift-tomcat"
      * Other containers can access this service through the hostname "openshift-tomcat"

--> Creating resources ...
    deploymentconfig.apps.openshift.io "openshift-tomcat" created
    service "openshift-tomcat" created
--> Success
    Application is not exposed. You can expose services to the outside world by executing one or more of the commands below:
     'oc expose svc/openshift-tomcat'
    Run 'oc status' to view your app.

容器运行中设置环境变量

C:\minishift-1.26.1-windows-amd64>oc set env dc/openshift-tomcat DEPLOY_MODE="prd"
deploymentconfig.apps.openshift.io/openshift-tomcat updated

列出环境变量

C:\minishift-1.26.1-windows-amd64>oc set env dc/openshift-tomcat --list
# deploymentconfigs/openshift-tomcat, container openshift-tomcat
DEPLOY_MODE=stg

猜你喜欢

转载自www.cnblogs.com/ericnie/p/9919620.html