安装 Helm
wget https://get.helm.sh/helm-v3.4.1-linux-amd64.tar.gz -O helm-v3.4.1-linux-amd64.tar.gz tar -zxvf helm-v3.4.1-linux-amd64.tar.gz mv linux-amd64/helm /usr/local/bin/helm
Helm 是什么
每个成功的软件平台都有一个优秀的打包系统,比如 Debian、Ubuntu 的 apt,Redhat、Centos 的 yum。而 Helm 则是 Kubernetes 上的包管理器。
Helm 的架构
Helm 有两个重要的概念:chart
和 release
。
chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等。chart 是应用部署的自包含逻辑单元。可以将 chart 想象成 apt、yum 中的软件安装包。
release 是 chart 的运行实例,代表了一个正在运行的应用。当 chart 被安装到 Kubernetes 集群,就生成一个 release。chart 能够多次安装到同一个集群,每次安装都是一个 release。
Helm 是包管理工具,这里的包就是指的 chart。
Helm 包含两个组件:Helm 客户端 和 Tiller 服务器。
简单的讲:Helm 客户端负责管理 chart;Tiller 服务器负责管理 release。
安装和部署 Helm 客户端和 Tiller 服务器
将 Helm 客户端安装在能够执行 kubectl
命令的节点上
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
root@roy-eas-vm-k8s-1:~# curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7230 100 7230 0 0 20792 0 --:--:-- --:--:-- --:--:-- 20775
Downloading https://kubernetes-helm.storage.googleapis.com/helm-v2.11.0-linux-amd64.tar.gz
Preparing to install helm and tiller into /usr/local/bin
helm installed into /usr/local/bin/helm
tiller installed into /usr/local/bin/tiller
Run 'helm init' to configure helm.
Tiller 服务器安装非常简单,只需要执行 helm init
:
root@roy-eas-vm-k8s-1:~# helm init
Creating /root/.helm
Creating /root/.helm/repository
Creating /root/.helm/repository/cache
Creating /root/.helm/repository/local
Creating /root/.helm/plugins
Creating /root/.helm/starters
Creating /root/.helm/cache/archive
Creating /root/.helm/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at /root/.helm.
Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.
Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
Happy Helming!
现在,helm version
已经能够查看到客户端和服务器的版本信息了。
root@roy-eas-vm-k8s-1:~# helm version
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean”}
使用 Helm
Helm 安装成功后,可执行 helm search
查看当前可安装的 chart。例如找mysql
root@roy-eas-vm-k8s-1:~# helm search mysql
NAME CHART VERSION APP VERSION DESCRIPTION
incubator/mysqlha 0.4.0 5.7.13 MySQL cluster with a single master and zero or more slave...
stable/mysql 0.10.1 5.7.14 Fast, reliable, scalable, and easy to use open-source rel...
stable/mysqldump 1.0.0 5.7.21 A Helm chart to help backup MySQL databases using mysqldump
stable/prometheus-mysql-exporter 0.1.0 v0.10.0 A Helm chart for prometheus mysql exporter with cloudsqlp...
stable/percona 0.3.2 5.7.17 free, fully compatible, enhanced, open source drop-in rep...
stable/percona-xtradb-cluster 0.1.5 5.7.19 free, fully compatible, enhanced, open source drop-in rep...
Helm 仓库
root@roy-eas-vm-k8s-1:~# helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
Helm 安装时已经默认配置好了两个仓库:stable
和 local
。stable
是官方仓库,local
是用户存放自己开发的 chart 的本地仓库。
用户可以通过 helm repo add
添加更多的仓库,比如企业的私有仓库,仓库的管理和维护方法请参考官网文档 https://docs.helm.sh
添加仓库:
root@roy-eas-vm-k8s-1:~# helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
root@roy-eas-vm-k8s-1:~# helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
incubator http://storage.googleapis.com/kubernetes-charts-incubator
安装 chart 也很简单,执行如下命令可以安装 MySQL。
helm install stable/mysql
如果看到报错,通常是因为 Tiller 服务器的权限不足。
# helm install --name roy-kafka incubator/kafka
Error: release roy-kafka failed: namespaces "default" is forbidden: User "system:serviceaccount:kube-system:default" cannot get resource "namespaces" in API group "" in the namespace "default"
执行如下命名添加权限:
$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
$ kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
然后再次执行
helm install stable/mysql
相关推荐
helm 部署应用到 k8s 集群详细文档 本文档详细介绍了使用 Helm 部署应用到 Kubernetes 集群的过程。Helm 是一个 Kubernetes 的包管理工具,能够方便地将之前打包好的 YAML 文件部署到 Kubernetes 上。 Helm 有三个...
### Helm 2.10.0 安装与配置详解 #### 一、Helm 简介 Helm 是 Kubernetes 社区中一个非常重要的工具,它为开发者提供了便捷的方式来定义、安装以及升级 Kubernetes 上的容器化应用程序。Helm 的设计理念类似于...
k8s helm工具镜像,2.9.1版本tiller不好下载,这是我从docker里考出来的,linux系统适用
使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。 helm3新的功能 1.版本以新格式存储 2.没有群集内(分iller)组件 3.Helm 3包括对新版Helm...
我们将首先介绍CentOS系统的基本环境准备,然后详细说明如何使用Helm 3.8.1来安装Kubernetes(k8s)集群上的Dapr组件。 首先,确保你的CentOS系统已经更新到最新版本,并安装了必要的依赖。在终端中运行以下命令: ...
本文档采用k8s v1.10.0二进制的集群部署方式,主要更改 使用kube-router 代理kube-proxy,使用ingress-nginx做边缘负载,使用haproxy+heartbeat实现高可用 本文档持续更新,后续将继续深入了解prometheus,helm等组件...
使用sealos安装k8s时的工具(helm),在文章《快速搭建云原生开发环境(k8s+pv+prometheus+grafana)》中会用到
个人使用的资源包,包含dockerfile文件,以及各个组件所使用的yaml
接着,可以使用`helm repo add`命令添加官方或第三方的Chart仓库,以便获取和安装应用。`helm search`命令可以帮助找到感兴趣的Chart,而`helm install`则用于部署Chart到Kubernetes集群。如果需要调整应用配置,...
综上所述,"k8s学习中使用的_helm文件.zip"可能包含了用于学习和实践Helm操作的各种资源,如示例图表、配置文件或教程。通过深入理解Helm的工作原理和用法,可以更有效地管理和部署Kubernetes应用程序,提升开发和...
k8s部署dolphinscheduler 踩坑记录3.1.2,全流程
本资料笔记将详细介绍如何使用Helm v3来部署Kubernetes集群,提供超详细、超全面的指导,包括相关文档和软件包,帮助你深入理解和实践K8s-Helm的集成。 首先,了解Kubernetes(K8s)是至关重要的。K8s是一个开源...
此图表将使用Helm包管理器在Kubernetes集群上引导Airflow部署。 快速开始 远程安装这个 helm chart(使用 helm 3) 使用 KEDA 自动缩放器安装气流 更多详情、使用方法,请下载后阅读README.md文件
包含k8s下部署rabbitmq集群部署方式的说明,有pv.yaml, svc.yaml, statefulset.yaml
9. **Helm**: Helm是K8S的应用包管理工具,它通过Charts简化了应用的打包、部署和管理。 学习K8S,你需要了解如何创建和管理这些核心对象,以及如何使用命令行工具`kubectl`进行操作。此外,熟悉Docker容器技术也是...
Kubernetes安装Helm,和架构图讲解。希望可以帮助到刚学习的同学。
k8s-v1.24.1启动prometheus监控的yaml文件
使用cfssl工具配置证书并在kubernetes上部署harbor并暴露访问。
k8s-proxysql群集 在Kubernetes中以集群模式运行proxysql的容器。 用法 默认情况下,该容器充当普通的proxysql实例。 要启用群集模式,需要执行以下操作。 服务 容器使用服务来发现是否已经存在主节点。 可以在以下...
通过Jenkins流水线发布Java服务到k8s集群上,主要是通过在Jenkins slave上集成宿主机docker,helm,kubectl工具来打包镜像部署服务到k8s集群上。