In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-23 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/01 Report--
This article shows you how to achieve a large-scale Kubernetes CI/CD pipeline, the content is concise and easy to understand, can definitely brighten your eyes, through the detailed introduction of this article, I hope you can get something.
I. background
In recent years, Kubernetes has quickly become the de facto open source standard for container orchestration. Unlike virtual machines, Kubernetes reliably orchestrates containers on a large scale while abstracting the infrastructure, which helps developers separate workloads from infrastructure complexity. Kubernetes is ideal for CI/CD automation because it provides many built-in features that standardize and reuse application deployment, increase developer productivity, and accelerate the adoption of cloud-native applications.
Platform9, a cloud service provider founded in 2013, provides the industry's only hybrid cloud solution managed by SaaS, enabling users to quickly adopt cloud technology and consistently manage VM, Kubernetes, and serverless functions on any infrastructure in a private deployment or public cloud. The Kubernetes solution provided by Platform9 is also a leader in the industry.
At the KubeCon + CloudNativeCon conference in Barcelona in 2019, Platform9 interacted with more than 1000 participants, and nearly 500 participants participated in the Kubernetes survey. The following figure shows the survey results for the most common Kubernetes application scenarios:
Among them, Kubernetes-based CI/CD automation is the most extensive use case, focusing on helping developers build and deliver applications faster. However, running Kubernetes (k8s) and continuous safety checks in a production environment with fully automated and repeatable CI/CD pipelining presents new challenges, including integration complexity, continuous product update / rollback, self-operation and maintenance, lifecycle management, and so on.
Solving these challenges is not as difficult as you might imagine, and this article describes how Platform9 uses JFrog's products to quickly automate CI/CD on Kubernetes and extend it to the entire organization.
2. 5-step Kubernetes CI / CD pipeline using Artifactory and Helm
In the solution provided by Platform9, JFrog Artifactory, as the Docker registry (or multiple registries) of microservices, is an integral part of building the CI/CD pipeline. At the same time, Artifactory is used as the Helm Chart repository to further enable the product management repository to provide all the integrated resources needed to deploy containers to the K8s cluster.
Artifactory can also act as a proxy repository for remote dependencies, such as npm, Maven, Gradle, and Go, implementing a secure Kubernetes registry that enables you to track end-to-end content, dependencies, and relationships with other Docker images in the system.
Implement the Kubernetes CI/CD pipeline in 5 steps:
Step 1. Use the registry of agents in Artifactory to develop microservices. The generated application package can be a .war or .jar file
Step 2. Use Tomcat and Java-8 on Ubuntu to create a Docker framework as the base image. This image is pushed to the Docker registry in Artifactory, and JFrog Xray also scans it for security and license compliance.
Step 3. Create a Docker image for the microservice by adding .war or .jar files to the Docker framework, push the image to the Docker registry in Artifactory, and scan it through Xray.
Step 4. Create a Helm Chart for the microservice and push it to the Helm repository in Artifactory.
Step 5. Use Helm Chart to deploy microservices from the secure Docker registry to the Kubernetes cluster.
In the above pipeline, in addition to being responsible for product warehouse management, Artifactory can also provide quality auditability because it captures all the large amounts of valuable metadata generated throughout the CI/CD process, including:
Build and environment information
Dependencies of modules
Relevant information provided by CI servers, such as Jenkins
Detailed license analysis of the release module and its dependencies
Release historical information, etc.
Using Artifactory, you can track the CI tasks responsible for generating an application layer, such as WAR files, that is part of the Docker mirroring layer. By comparing the two builds, you can show the differences between builds, making it easy to track which build was released to which layer of the Docker image, and then continue to trace the commit of the code.
III. Analysis of the characteristics of the assembly line
3.1 JFrog Artifactory and Xray ensure automation of software delivery
Artifactory is a general product warehouse management platform that meets the needs of all CI/CD no matter where the micro services in the organization run. Artifactory enables developers to deploy containerized microservices to Kubernetes clusters by providing full Docker compatibility. After pushing the application package to the Artifactory repository, you can continue to validate and upgrade your container during the development, test, and release phases, and finally deploy it to a production cluster in Kubernetes. As previously analyzed, Artifactory also provides complete reviewability and traceability for all application packages.
JFrog Xray performs a deep recursive scan of the Docker image and identifies security vulnerabilities in all layers and dependencies. It also checks to ensure that the licenses of all software components comply with the organization's policy. This helps prevent vulnerable and non-compliant software from being put into production. Moreover, the continuous scanning capability provided by Xray ensures continuous security when new problems are discovered or policies are changed.
3.2 Helm Charts automates the deployment of CI/CD tools
Once your Kubernetes infrastructure is up and running, Kubernetes Helm enables you to configure container applications quickly and reliably by easily installing, updating, and removing. It provides developers with a tool to package applications and share them with the Kubernetes community. It enables software vendors to provide their containerized applications at the click of a button. Users can install Kubernetes applications for a development test or production environment with a single command or a few mouse clicks. Most popular CI/CD toolsets are available through Helm chart.
The Platform9 application directory provides easy-to-access button deployment for Helm diagrams. You can use App Catalog UI to select and deploy your favorite CI/CD pipelining tools (for example, Jenkins, Spinnaker, Artifactory, Xray, and so on). You can search, deploy or configure it with one click. (figure 3)
4. Platform9's managed Kubernetes service eliminates operational complexity
If the main business problem you are trying to solve is related to improving developer productivity, bringing software to market faster, and running reliable applications in a production environment, is it worth your time to deal with the hassle and complexity of operation and maintenance Kubernetes? Do you have the personnel and skills to work and operate large Kubernetes clusters?
Operations and maintenance of your own large-scale Kubernetes infrastructure is daunting. The consequences of the wrong choice are persistent and can affect the availability, performance, and agility of the application. Although it may be cheaper to build a solution internally in the short term, your design may be of low quality or have some flaws. These defects will not be realized until you are put into production, which will eventually cost more money.
While installing and managing Kubernetes does not drive the business forward, it is possible to quickly deploy new applications and versions for customers. For developers and end users of Kubernetes, platform availability is key. They don't care who built it or how: they just want to practice it and make it work well.
Although developers do not care about the implementation details of the cluster or its operation and maintenance status, someone still needs to do operation and maintenance work to ensure that the cluster is up-to-date, healthy and secure. Platform9 manages your Kubernetes environment, provides you with fully automated operation and maintenance, and implements 99.9% SLA on bare metal, VMware, public cloud, or edge nodes. This gives your DevOps team time to focus on what is important: responding to customer needs by building better applications faster. (figure 4)
According to the above solutions recommended by Platform9, JFrog-based Artifactory and Xray, combined with Helm Chart, can conveniently, quickly and clearly build CI/CD automation lines suitable for large-scale Kubernetes clusters. This solution not only ensures the speed, security and repeatability of application construction and delivery, but also provides complete reviewability and traceability for all delivered applications.
The above content is how to achieve large-scale Kubernetes CI/CD assembly line, have you learned the knowledge or skills? If you want to learn more skills or enrich your knowledge reserve, you are welcome to follow the industry information channel.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.