In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-29 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/03 Report--
1. Introduction of Helm
Helm is a kubernetes-based package manager. It is to kubernetes what yum is to centos,pip what python,npm is to javascript
So how does the introduction of helm help to manage the cluster?
It is easier to deploy infrastructure, such as gitlab,postgres,prometheus,grafana, to deploy your own applications, to configure Chart for internal projects, to use helm combined with CI, and to deploy applications in K8s as simple as one-line command. 1. Helm purpose
Helm packages Kubernetes resources (such as deployments, services, ingress, etc.) into a chart, while chart is stored in an chart repository. The chart repository can be used to store and share chart. Helm makes the release configurable, supports the version management of the release application configuration, and simplifies the version control, packaging, release, deletion, update and other operations of Kubernetes deployment applications.
As a package management tool for Kubernetes, it is used to manage charts-- 's preconfigured installation package resources, similar to APT in Ubuntu and yum in CentOS.
Helm has the following functions: create a new chartchart and package it into tgz format to upload chart to the chart repository or download chart from the repository to install or uninstall chart in the Kubernetes cluster. Using Helm to manage the release cycle of chart installed with Helm can do the following things: manage Kubernetes manifest files management Helm installation package charts chart-based Kubernetes application distribution 2, Helm components and related terms
One of the common problems I encountered when I first came into contact with Helm was that some of the concepts and terms in Helm were very confusing, and I encountered this problem when I started learning Helm.
So let's first take a look at these related concepts and terms of Helm.
Package management tools:
Helm: Kubernetes's application packaging tool, which is also the name of the command line tool.
Helm CLI: is a Helm client that can be executed locally
Tiller: the server side of Helm, deployed in the Kubernetes cluster, used to process Helm-related commands.
The role of helm: like the yum command in centos7, it manages software packages, except that helm manages various containers installed on K8s.
The role of tiller: like centos7's software repository, simply similar to xxx.repo in the / etc/yum.repos.d directory.
Repoistory: Helm's software repository, repository is essentially a web server that holds the chart package for download and provides a manifest file for the repository's chart package for query. When in use, Helm can dock multiple different Repository.
Charts: a Helm package that contains the images, dependencies, and resource definitions needed to run a kubernetes application.
Release: an instance obtained after the application runs Charts.
It is important to note that the Release mentioned in Helm is different from the version in our usual concept, where Release can be understood as an application instance deployed by Helm using the Chart package.
In fact, the Release in Helm is more appropriately called Deployment. Probably because the concept of Deployment has been used by Kubernetes, Helm has adopted the term Release.
The command describes http://hub.kubeapps.com/completion # to create a new chartdelete with a given name for the specified shell generation autocomplete script (bash or zsh) create # remove the specified name from Kubernetes releasedependency # manage chart dependencies fetch # download chart from the repository and (optional) extract it to the local directory get # download one Named releasehelp # list all help information history # get release history home # display HELM_HOME location init # initialize Helminspect # check chart details install # install chart archive lint # check chart syntax check list # releases list package # package the chart directory into Chart archives plugin # add list or delete helm plug-in repo # add list delete update and index chart repository reset # Uninstall Tillerrollback from the cluster roll back the version to the previous version search # search the chart repository for the keyword serve # start the local http network server status # display the status of the specified release template # Local rendering template test # Test a releaseupgrade # upgrade a releaseverify # verify that the chart on a given path is signed and valid version # print client / server version information dep # analyze Chart and download dependency 3, Component architecture
Helm Client is a user command line tool, which is mainly responsible for the following:
Local chart development warehouse management interacts with Tiller sever to send pre-installed chart query release information requirements to upgrade or uninstall existing release
Tiller Server is a server deployed within a Kubernetes cluster that interacts with Helm client and Kubernetes API server. Tiller server is mainly responsible for the following:
Listen for requests from Helm client to build a release install chart to the Kubernetes cluster through chart and its configuration, and track subsequent releases by interacting with Kubernetes to upgrade or uninstall chart simply put, client manages charts, while server manages publishing releasehelm client
The helm client is a command-line tool that manages charts, reprepository, and release. It sends requests to tiller through gPRC API (using kubectl port-forward to map the port of tiller locally, and then communicates with tiller through the mapped port), and tiller manages the corresponding Kubernetes resources.
Tiller server
Tiller receives requests from helm clients and sends operations on related resources to Kubernetes, which is responsible for managing (installation, query, upgrade or deletion, etc.) and tracking Kubernetes resources. In order to facilitate management, tiller stores the information about release in the ConfigMap of kubernetes.
Tiller exposes gRPC API to be called by helm clients.
4. Working principle Chart Install process: Helm parses the Chart structure information from the specified directory or tgz file. Helm transmits the specified Chart structure and Values information to TillerTiller through gRPC according to Chart and Values to generate a ReleaseTiller to send Release to Kubernetes to run. Chart Update process: Helm parses the Chart structure information from the specified directory or tgz file, Helm the name and Chart structure of the Release to be updated, the Values information is passed to TillerTiller to generate Release and update the HistoryTiller of the specified name Release, send Release to Kubernetes, run Chart Rollbackhelm, pass the rolled release name to tillertiller, find historytiller based on release name, get the last releasetiller from history, send the last release to kubernetes to replace the current releaseChart processing dependency
When Tiller deals with Chart, it directly merges Chart and all its dependent Charts into a single Release and passes it to Kubernetes. Therefore, Tiller is not responsible for managing the startup order between dependencies. Applications in Chart need to be able to handle dependencies on their own.
Install and deploy helm tools (client)
The host that executes the helm command that requires the image warehouse accessible to the Kubernetes1.5 cluster above can access the kubernetes cluster (1) download the helm package [root@master ~] # docker pull gcr.io/kubernetes-helm/tiller:v2.14.3 [root@master ~] # wget https://get.helm.sh/helm-v2.14.3-linux-amd64.tar.gz (2) the command to put the helm package Copy to the local [root@master helm] # mv linux-amd64/helm / usr/local/bin/// mobile command directory to / usr/local/bin/ [root@master helm] # chmod + x / usr/local/bin/helm / / give execution permission [root@master helm] # helm help// verify whether the installation is successful (3) set the command to automatically complete [root@master helm] # echo 'source
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.