DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • A Concise Guide to DevSecOps and Their Importance in CI/CD Pipeline
  • Zero to Hero on Kubernetes With Devtron
  • Using Azure DevOps Pipeline With Gopaddle for No-Code Kubernetes Deployments
  • AppOps with Kubernetes and Devtron - The Perfect Fit

Trending

  • AI Agents Expose a Design Gap in Microservices Resilience Architecture
  • Why SAP S/4HANA Landscape Design Impacts Cloud TCO More Than Compute Costs
  • Chat with Your Oracle Database: SQLcl MCP + GitHub Copilot
  • We Went Multi-Cloud and Almost Drowned: Lessons From Running Across AWS, GCP, and Azure
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. DevOps and CI/CD
  4. How To Setup a CI/CD Pipeline With Kubernetes 2020

How To Setup a CI/CD Pipeline With Kubernetes 2020

This article gives direction to getting your CICD pipeline up and running on the Kubernetes cluster by the GitLab CICD pipeline.

By 
Ashish Jain user avatar
Ashish Jain
·
Jul. 16, 20 · Tutorial
Likes (5)
Comment
Save
Tweet
Share
12.6K Views

Join the DZone community and get the full member experience.

Join For Free
How to Setup a CI/CD Pipeline with Kubernetes 2020

When it comes to DevOps, the word that clicks in mind is CI/CD pipeline. Let's have a look at Definition of CI/CD pipeline:

CI is straightforward and stands for continuous integration, a practice that focuses on making preparing a release easier. But CD can either mean continuous delivery or continuous deployment and while those two practices have a lot in common, they also have a significant difference that can have critical consequences for a business.

- Atlassian.com

CI stands for Continuous Integration, and CD stands for Continuous Delivery and Continuous Deployment. You can think of it as a process which is similar to a software development lifecycle.

- Edureka.co

Systems provide automation of the software build and validation process-driven continuously by running a configured sequence of operations every time a software change is checked into the source code management repository. These are closely associated with agile development practices and closely related to the emerging DevOps toolsets.

- Gartner.com

In the DevOps world, we have a plethora of toolsets that can help and leverage CICD capabilities.

  • Docker
  • Kubernetes
  • Proxies
  • Git
  • Jenkins/ Jenkins X
  • Ansible
  • Chef
  • Code Pipeline, etc

This blog gives direction to up and running your CICD pipeline running on the Kubernetes cluster by the GitLab CICD pipeline.

Prerequisites

  • Hands-on knowledge of Docker containers
  • Hands-on knowledge of Kubernetes architecture and understanding
  • The Idea of how to write YAML files
  • Up and Running Kubernetes cluster

Step 1: Creating and Deploying on Kubernetes Cluster (in this example we took AWS EKS)

https://logz.io/blog/amazon-eks/ 

Step 2: Installing Gitlab 

https://docs.gitlab.com/charts/installation/cloud/eks.html 

Step 3: Configure Gitlab for Kubernetes

Go to GitLab > operations > Kubernetes > Add Kubernetes Cluster > Add existing cluster, and you will be getting the page as below :

Picture 1

You can get the necessary details by reviewing the AWS EKS cluster, Keep in mind that the CA Certificate file only accepts the PEM like necryption.

To avoid confusion please refer to https://docs.gitlab.com/ee/user/project/clusters/add_remove_clusters.html#configuring-and-connecting-the-eks-cluster

Step 4: Creating Needed Files and Configurations for CI/CD Implementation

  • Create .gitlab-ci.yml

- If you do not have any idea about it then no worries we have stepwise solution of it

https://docs.gitlab.com/ee/user/project/pages/getting_started_part_four.html

Picture2
  • Create a manifest folder and write deployments file

- Deployment.yml

Picture4
  • Ingress.yml
Picture5
  • Service.yml
Picture6

Once the files are configured go to pipeline section of GitLab and check the logs and status of a pipeline

Picture7


Continuous Integration/Deployment Kubernetes Pipeline (software)

Published at DZone with permission of Ashish Jain. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • A Concise Guide to DevSecOps and Their Importance in CI/CD Pipeline
  • Zero to Hero on Kubernetes With Devtron
  • Using Azure DevOps Pipeline With Gopaddle for No-Code Kubernetes Deployments
  • AppOps with Kubernetes and Devtron - The Perfect Fit

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook