DevOps Automation

 View Only

AUTOMATING DOCKER DEPLOYMENTS

By Laurel Dickson-Bull posted Fri May 20, 2022 10:09 AM

  

UrbanCode Deploy coordinates multi-container deployments across environments

Deploying a container to a host is trivial, but how do you manage related containers, setup rules for release, and interact with the myriad of schedulers, registries and clouds involved? UrbanCode Deploy brings its industry-leading release automation capabilities to the Container world to handle these problems.

UrbanCode Deploy allows you to coordinate complex multiple container deployments to a set of Docker hosts or cloud provider container and/or kubernetes services of your choice.. UrbanCode Deploy can also help deploy containers that are part of a larger or legacy application deployment process, which can help you convert large, monolithic applications into microservices. You can also orchestrate deployments across multiple hosts like IBM Kubernetes Service or AWS or Azure Kubernetes for hybrid scenarios where you are using different flavors of container based on environments.

With UrbanCode Deploy’s built-in security features, you can customize user permissions and quality gates and keep stakeholders up to date on deployment actions and status, giving you enterprise scale confidence in your container deployments.

Why automate container deployments with UrbanCode Deploy?

  • Portability that enables hybrid cloud: Docker Containers allow developers to automate testing and deployment to production, while also enabling the same app to be moved across multiple (hybrid) clouds.  UrbanCode Deploy brings visibility to what images are deployable within an environment based on validation, certification or test processes and automates image management between Cloud Registries and on-premise Docker registries

  • Security and governance: Customize user permissions, quality gates, and approvals so only images or containers that meet your criteria can be promoted.  Ensure separation of duties concerns are addressed, and incorporate manual approvals where required, from development to production.

  • Visibility and auditability: All containers are automatically versioned in UrbanCode Deploy so you can see what version (of any application or microservice) is where (any on-premises or cloud environment) and who deployed it.  Containers that contain microservices can also be grouped together in a snapshot, which assures the right version of each service is joined with its fellows for deployment.

How do the UrbanCode Deploy container plugins work?

See the github repository for the many UrbanCode Deploy plugins. Start at the documentation level and search for the plugin you need: https://urbancode.github.io/IBM-UCx-PLUGIN-DOCS/

  •  Docker: run Docker containers via UCD component templates and map Docker images to components within UrbanCode Deploy (requires Docker Source Config plugin)

  •  Docker Registry: Source plugin – import versions from registry – traceability, governance, trusted sources

  •  Docker Compose: configure a single component in UCD and use it to deploy a Compose file with many services. Create components and corresponding inventory for each of those automatically.

  •  Kubernetes: interact with Kubernetes sources within the UCD interface and kick off deployments across environments.  Our partner Apprenda (PaaS provider) has a similar plugin.

  • OpenShift: interact with OpenShift applications within the UCD interfact and kick off deployments of Docker container packaging and Kubernetes container cluster management.

#urbancodedeploy
#UrbanCode
#DevOps
#Kubernetes
#deployments
#UrbanCodeDeploy
#Kubernetes
2 comments
12 views

Permalink

Comments

Fri October 07, 2022 06:32 AM

Hello Thomas,

OpenShift deployments use either the built-in registry in OpenShift or you can refere in your deployment yaml to the location of your container.

For example: https://github.com/osmanburucu-ibm/KubeToy
This is a simple container application where the container is used from docker hub
    spec:
        containers:
        - name: kubetoy
          image: docker.io/niklaushirt/kubetoy:latest

So you could use the docker registry plugin to push your new container images into the registry and then the openshift plugin with a tokenized deployment yaml to deploy it.

Thu October 06, 2022 09:13 AM

Where can I find more details on how the Docker Registry plugin and the Openshift for UrbanCode Deploy plugin work together?  Specifically, if I have created an image version in UCD using the Docker Registry plugin, how do I use the steps in the Openshift for UrbanCode Deploy plugin to deploy that image into my OpenShift Cluster?