This guide shows you how to install and configure CloudBees Core for Kubernetes CD, along with all its prerequisites.
If you have already installed and configured CloudBees Core for Kubernetes CD, read more about how to start using it in the CloudBees Core for Kubernetes CD tutorials.
Leveraging Jenkins X, CloudBees Core for Kubernetes CD provides a UI and additional capabilities to streamline the development of applications for deployment into Kubernetes-based cloud native environments.
CloudBees Core subscriptions already include an entitlement to CloudBees Core for Kubernetes CD. If you are not a CloudBees customer, please request access.
CloudBees Core for Kubernetes CD:
Delivers streamlined workflows for cloud native applications on Kubernetes. Jenkins Pipelines and pre-production environments are created automatically.
Leverages GitOps or environments stored as code in a repository, to automatically promote versioned artifacts through pull requests across environments.
Provides a rich user interface on top of a powerful GUI to manage environments, teams and versions of applications, infrastructure, activities such as pull requests, and deployments that form part of a continuous delivery journey of Kubernetes-based applications to production.
For the limited availability release, CloudBees requires and only supports the following service providers:
Cloud services, like Google Kubernetes Engine (GKE)
Ensure you have set yourself up with a Google Cloud Platform (GCP) account. You can sign up for the GCP free trial, which lasts 12 months, and currently offers US$300 of credit.
Also ensure you have created a GCP project for your CloudBees Core for Kubernetes CD installation. It is recommended that you create a new GCP project (for this limited availability release of CloudBees Core for Kubernetes CD) which is separate from your other development and production Kubernetes clusters.
Git services: GitHub. You will need to create a GitHub organization for CloudBees Core for Kubernetes CD. You will also need to create a GitHub "bot" account/username that can be utilized by CloudBees Core for Kubernetes CD.Note
An existing GitHub Organization can be used.
Mailing list services: Google Groups - you will need to create a private Google Group that can be used by your GitHub "bot" account for notification purposes. Details are also covered in the relevant procedures below.Note
An existing shared email distribution list can be used instead of a Google Group. Do not use an internal distribution list. You can use a personal user email to sign up a bot user, but consider the risk of having only one person with access to reset and revoke personal access tokens for the bot account.
For limited availability release, a publicly accessible network with access to Docker Hub.
For the installation process, internet access is also required to allow Let’s Encrypt to validate HTTP endpoints to generate signed certificates.
A publicly accessible domain name on which a wildcard domain name system (DNS) record can be configured during this installation process
If your public domain name is
example.com, you must be able to create a wilcard DNS (A type) record for your CloudBees Core for Kubernetes CD instance based on the format
*.kubernetes-cd (for example). This would make your CloudBees Core for Kubernetes CD instance available through
kubernetes-cd.example.com. However, the wildcard component of this DNS record
*. also allows for other URLs that require public accessibility (e.g.
The domain for your CloudBees Core for Kubernetes CD instance would then point to the static IP address of your CloudBees Core for Kubernetes CD cluster’s load balancer, which you would obtain while following the relevant installation steps below. This configuration would allow your CloudBees Core for Kubernetes CD cluster’s single sign-on (SSO) features to function as intended. If necessary, please speak to your CloudBees contact for more information.
Be aware that you do not need to provide SSL certificates for your CloudBees Core for Kubernetes CD instance as this is provided to you by the installer, using Let’s Encrypt. Although Let’s Encrypt certificates expire after 90 days, your CloudBees Core for Kubernetes CD installation automatically renews these SSL certificates.
The CloudBees Core for Kubernetes CD production installation process consists of two phases - configuring GitHub and installing CloudBees Core for Kubernetes CD:
GitHub is configured for CloudBees Core for Kubernetes CD in the following stages:
CloudBees Core for Kubernetes CD is installed and initially configured using the Jenkins X command line interface (CLI) tool
jx, which must first be installed/configured.
Using this tool, the CloudBees Core for Kubernetes CD installation process consists of the following stages:
Once these stages are complete, the following will have been provisioned/installed/configured in your GKE cluster:
Start the installation process by configuring GitHub for CloudBees Core for Kubernetes CD.
Online version published by CloudBees, Inc. under the Creative Commons Attribution-ShareAlike 4.0 license.
CloudBees and CloudBees DevOptics are registered trademarks and CloudBees Core, CloudBees CodeShip, CloudBees Jenkins Enterprise, CloudBees Jenkins Platform, CloudBees Jenkins Operations Center and DEV@cloud are trademarks of CloudBees, Inc.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
The registered trademark Jenkins® is used pursuant to a sublicense from the Jenkins project and Software in the Public Interest, Inc. Read more at www.cloudbees.com/jenkins/about.
Apache, Apache Ant, Apache Maven, Ant and Maven are trademarks of The Apache Software Foundation. Used with permission. No endorsement by The Apache Software Foundation is implied by the use of these marks.
Other names may be trademarks of their respective owners. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this content, and CloudBees was aware of a trademark claim, the designations have been printed in caps or initial caps.
While every precaution has been taken in the preparation of this content, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.