`

k8s helm安装及使用

    博客分类:
  • k8s
阅读更多

安装 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 有两个重要的概念:chartrelease

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 安装时已经默认配置好了两个仓库:stablelocalstable 是官方仓库,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+k8s)-详细文档

    helm 部署应用到 k8s 集群详细文档 本文档详细介绍了使用 Helm 部署应用到 Kubernetes 集群的过程。Helm 是一个 Kubernetes 的包管理工具,能够方便地将之前打包好的 YAML 文件部署到 Kubernetes 上。 Helm 有三个...

    k8s helm2.10.0安装文档

    ### Helm 2.10.0 安装与配置详解 #### 一、Helm 简介 Helm 是 Kubernetes 社区中一个非常重要的工具,它为开发者提供了便捷的方式来定义、安装以及升级 Kubernetes 上的容器化应用程序。Helm 的设计理念类似于...

    K8S工具helm&tille镜像 rv2.9.1.tar

    k8s helm工具镜像,2.9.1版本tiller不好下载,这是我从docker里考出来的,linux系统适用

    k8s heml v3.9.0

    使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。 helm3新的功能 1.版本以新格式存储 2.没有群集内(分iller)组件 3.Helm 3包括对新版Helm...

    centos k8s安装dapr

    我们将首先介绍CentOS系统的基本环境准备,然后详细说明如何使用Helm 3.8.1来安装Kubernetes(k8s)集群上的Dapr组件。 首先,确保你的CentOS系统已经更新到最新版本,并安装了必要的依赖。在终端中运行以下命令: ...

    k8s安装教程和部署的详细说明

    本文档采用k8s v1.10.0二进制的集群部署方式,主要更改 使用kube-router 代理kube-proxy,使用ingress-nginx做边缘负载,使用haproxy+heartbeat实现高可用 本文档持续更新,后续将继续深入了解prometheus,helm等组件...

    使用使用sealos安装k8s时的工具(helm)

    使用sealos安装k8s时的工具(helm),在文章《快速搭建云原生开发环境(k8s+pv+prometheus+grafana)》中会用到

    k8s部署RocketMQ主从

    个人使用的资源包,包含dockerfile文件,以及各个组件所使用的yaml

    helm下载,helm-v3.8.1

    接着,可以使用`helm repo add`命令添加官方或第三方的Chart仓库,以便获取和安装应用。`helm search`命令可以帮助找到感兴趣的Chart,而`helm install`则用于部署Chart到Kubernetes集群。如果需要调整应用配置,...

    k8s学习中使用的_helm文件.zip

    综上所述,"k8s学习中使用的_helm文件.zip"可能包含了用于学习和实践Helm操作的各种资源,如示例图表、配置文件或教程。通过深入理解Helm的工作原理和用法,可以更有效地管理和部署Kubernetes应用程序,提升开发和...

    k8s部署dolphinscheduler3.1.2 踩坑记录

    k8s部署dolphinscheduler 踩坑记录3.1.2,全流程

    k8s-helm-资料笔记-v3版部署k8s集群-超详细,超全面(带文档和相关软件包)

    本资料笔记将详细介绍如何使用Helm v3来部署Kubernetes集群,提供超详细、超全面的指导,包括相关文档和软件包,帮助你深入理解和实践K8s-Helm的集成。 首先,了解Kubernetes(K8s)是至关重要的。K8s是一个开源...

    在 Kubernetes 上安装 Apache Airflow 的 Helm 图表_Python_代码_下载

    此图表将使用Helm包管理器在Kubernetes集群上引导Airflow部署。 快速开始 远程安装这个 helm chart(使用 helm 3) 使用 KEDA 自动缩放器安装气流 更多详情、使用方法,请下载后阅读README.md文件

    k8s下部署rabbitmq集群部署方式

    包含k8s下部署rabbitmq集群部署方式的说明,有pv.yaml, svc.yaml, statefulset.yaml

    K8S入门基础课件docx版本

    9. **Helm**: Helm是K8S的应用包管理工具,它通过Charts简化了应用的打包、部署和管理。 学习K8S,你需要了解如何创建和管理这些核心对象,以及如何使用命令行工具`kubectl`进行操作。此外,熟悉Docker容器技术也是...

    Kubernetes安装Helm.docx

    Kubernetes安装Helm,和架构图讲解。希望可以帮助到刚学习的同学。

    k8s-v1.24.1启动prometheus监控的yaml文件

    k8s-v1.24.1启动prometheus监控的yaml文件

    k8s上部署harbor并暴露访问

    使用cfssl工具配置证书并在kubernetes上部署harbor并暴露访问。

    k8s-proxysql-cluster:Kubernetes ProxySQL集群

    k8s-proxysql群集 在Kubernetes中以集群模式运行proxysql的容器。 用法 默认情况下,该容器充当普通的proxysql实例。 要启用群集模式,需要执行以下操作。 服务 容器使用服务来发现是否已经存在主节点。 可以在以下...

    k8s中Jenkins流水线配置自动化部署java+vue等服务.rar

    通过Jenkins流水线发布Java服务到k8s集群上,主要是通过在Jenkins slave上集成宿主机docker,helm,kubectl工具来打包镜像部署服务到k8s集群上。

Global site tag (gtag.js) - Google Analytics