Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the 11 tools that make Kubernete easier to use?

2025-03-26 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)05/31 Report--

This article introduces 11 tools to make Kubernete easier to use. The content is very detailed. Interested friends can use it for reference. I hope it will be helpful to you.

Introduction

The complexity of Kubernetes makes many people afraid of it, and these tools can help you simplify application definition, migrate clusters, simplify cloud deployment, and so on.

Few computing platforms (even powerful and large-scale computing platforms) can meet all the needs. While Kubernetes is useful right out of the box, it is far from meeting all the requirements. You can always find use cases or requirements that lack the default Kubernetes feature set (such as database support) or simply ignore them (such as continuous delivery).

This is why there is such a wide range of Kubernetes communities that provide add-ons, extensions, and freebies for the container orchestration framework. The author found 11 top Kubernetes best companions. Some can complement any Kubernetes cluster, while others can address specific needs that existing Kubernetes cannot address.

1. Gatekeeper: Kubernetes policy control

The Open Policy Agent Project (OPA) provides a way to create policies across the local cloud application stack, from entrances to service grid components to Kubernetes. Gatekeeper provides a Kubernetes local method that automatically enforces OPA policies on the cluster and audits any events or resources that violate the policy. All of this is handled by a relatively new mechanism in Kubernetes, the admission controller Webhooks, which triggers changes to resources. With Gatekeeper, the OPA policy can be maintained only as another part of the defined state of the Kubernetes cluster without frequent guardianship.

2. Gravity: portable Kubernetes cluster

If you are deploying your application to Kubernetes, many applications have Helm diagrams to guide and automate the process. Gravity, created for Kubernetes clusters, creates snapshots of its container registry and running applications, which are called application bundles. The bundle is just a .tar file that replicates the cluster anywhere Kubernetes runs.

Gravity also ensures that the target infrastructure can support the same behavioral requirements as the source infrastructure and ensures that the Kubernetes runtime on the target does not fail. Enterprise Gravity adds security features, including role-based access control and the ability to deploy synchronized security configurations across multiple clusters.

The latest major release, Gravity 7, can deploy a Gravity image to an existing Kubernetes cluster without having to use it to split an entirely new cluster. Gravity 7 can also be deployed to a cluster that is not yet running an image defined by Gravity. In addition, Gravity now supports SELinux and integrates locally with Teleport SSH gateways.

3. Kaniko: build a container in a Kubernetes cluster

Most container images are built on systems outside the container stack. Sometimes, however, you may want to perform the build process within the container stack, for example, in a running container or somewhere on the Kubernetes cluster.

Kaniko performs container construction in a container environment, but does not rely on container daemons such as Docker to get the job done. Instead, Kaniko extracts the file system from the base image, then executes all build commands in the user space at the top of the extracted file system, and takes a snapshot of the file system after each command. Note that Kaniko is currently unable to build Windows containers.

4. Kubecost: the cost indicator for running Kubernetes

Most Kubernetes management tools focus on ease of use, monitoring, insight into pod behavior, and so on. But how do you monitor the costs associated with running Kubernetes (such as dollars and cents)? Kubecost uses real-time Kubernetes metrics and actual cost information from clusters running on major cloud providers to provide a dashboard view of the monthly cost of each cluster deployment. The cost of memory, CPU,GPU, and storage is all divided by Kubernetes components (containers, pods, services, deployment, etc.).

Although currently limited to AWS, Kubecost can also track the cost of "out-of-cluster" resources, such as Amazon S3 buckets. Cost data can even be shared back to Prometheus, so you can use the data to change the cluster behavior programmatically. If you only need to keep a log for 15 days, you can use Kubecost for free. For more advanced features, the price for monitoring 50 nodes starts at $199 per month.

5. KubeDB: run the production database in Kubernetes

It has always been difficult to run the database gracefully in Kubernetes. You'll find Kubernetes operators for things like MySQL,PostgreSQL,MongoDB and Redis, but there's still a lot of white space. Moreover, the native Kubernetes feature set does not directly solve many specific problems with the database.

KubeDB allows you to create your own Kubernetes operator to manage the database. Running backups, cloning, monitoring, snapshots, and declaratively creating databases are all part of it. Note that the supported features vary from database to database. For example, a cluster can be used for PostgreSQL, but not for MySQL.

6. Kube-monkey:Kubernetes 's chaotic monkey

One sure way to stress test the system is to destroy things randomly. This is the theory behind Netflix's Chaos Monkey, a chaotic engineering tool that randomly terminates virtual machines and containers in production to "encourage" developers to build more resilient systems. Kube-monkey is the implementation of the same basic idea for stress testing of Kubernetes clusters. It works by randomly killing Pod in your specific cluster and can be fine-tuned to run within a specific time window.

7. Kubernetes entry Controller for AWS

Kubernetes provides external load balancing and network services for the cluster through a service called Ingress. Amazon Web Services provides load balancing, but does not automatically couple these services to Kubernetes's facilities. Kubernetes Ingress Controller for AWS fills this gap.

Kubernetes Ingress Controller for AWS automatically manages AWS resources for each ingress object in the cluster, creates load balancers for new ingress resources, and removes load balancers for deleted resources. It uses AWS CloudFormation to ensure that the cluster state is consistent. It also supports CloudWatch Alarm configuration and automatically manages other elements used in the cluster, such as SSL certificates and EC2 Auto Scaling groups.

8. Automatic deployment of Kubespray:Kubernetes

From bare metal to major public clouds, Kubespray can automatically deploy productive Kubernetes clusters in most environments. It uses Ansible (optional Vagrant) to perform deployment and creates a high availability cluster by selecting network plug-ins (such as Flannel,Calco,Weave, etc.) and bare metal installation in many popular Linux distributions.

9. Iterative development of Skaffold:Kubernetes

Skaffold is one of Google's own Kubernetes tools, and it is a way to continuously deploy Kubernetes applications. When you make changes to the source code, Skaffold automatically detects them, triggers the build and deployment process, and warns you if any errors occur. Skaffold runs entirely on the client side, so there is little setup or maintenance burden. It can be used in existing CI / CD pipes and integrated with some external build tools (mainly Google's own Bazel).

10. Simple PaaS on Teresa:Kubernetes

Teresa is an application deployment system that can be run as a simple PaaS on Kubernetes. Users who form a team can deploy and manage their own applications. This makes it easier for people who trust a given application to use it without having to deal with Kubernetes and all its complexities.

11. Stream container update for Tilt:Kubernetes cluster

Tilt developed by Windmill Engineering monitors changes to Dockerfile and then incrementally deploys those changes to the appropriate containers in the Kubernetes cluster. In essence, Tilt allows developers to update active clusters in real time simply by updating Dockerfile. Tilt performs builds within the cluster; the only changes pushed are the source code. You can even take a snapshot of the cluster state and error conditions from the Tilt state to share with team members for debugging.

This is the end of the 11 tools that make Kubernete easier to use. I hope the above content can be of some help and learn more. If you think the article is good, you can share it for more people to see.

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.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report