专业的JAVA编程教程与资源

网站首页 > java教程 正文

Helm介绍与安装

temp10 2025-01-02 19:12:57 java教程 10 ℃ 0 评论



Helm介绍与安装

helm简介

Helm是一种简化Kubernetes应用程序安装和管理的工具。可以把它想象成apt/yum/homebrew。

  • Helm有两部分:client(helm)和server(tiller)
    ,Tiller在您的Kubernetes集群内部运行,并管理chart的发布(安装)。
  • Helm可在您的笔记本电脑,或在任何位置运行。
  • chart是包含至少两件事的Helm包:
    • 包的描述(Chart.yaml)
    • 一个或多个模板,包含Kubernetes清单文件
  • chart可以存储在磁盘上,也可以从远程chart存储库(如Debian或RedHat包)中获取.

核心术语

  • Chart:一个helm程序包;
  • Repository:Charts仓库,https/http服务器;
  • Release:特定的Chart部署于目标集群上的一个实例;

程序架构

  • helm:客户端,管理本地的Chart仓库,管理Chart, 与Tiller服务器交互,发送Chart,实例安装、查询、卸载等 操作;
  • Tiller:服务端,接收helm发来的Charts与Config,合并生成relase;

helm部署

  1. helm可以部署在任何机器上,不一定要在kubernetes的服务器上,但是需要安装kubectl,也就是说用户家目录下要有kube的配置文件,因为helm需要和apiServer通信
#安装kubectl
yum list kubeadm --showduplicates|sort -r
yum -y install kubeadm-1.16.3-0.x86_64 kubectl-1.16.3-0.x86_64 kubelet-1.16.3-0.x86_64
systemctl enable kubelet && systemctl start kubelet
 
#拷贝admin.conf
mkdir -p $HOME/.kube
scp root@10.180.1.21:/etc/kubernetes/admin.conf /etc/kubernetes/admin.conf
scp root@10.180.1.21:/etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
 
echo "export KUBECONFIG=/etc/kubernetes/admin.conf"  >> /etc/profile
source /etc/profile

2.下载安装heml客户端

wget https://get.helm.sh/helm-v2.16.1-linux-amd64.tar.gz
mkdir -p /usr/local/helm/
mv helm-v2.16.1-linux-amd64.tar.gz /usr/local/helm/
cd /usr/local/helm/
tar -zxvf helm-v2.16.1-linux-amd64.tar.gz
rm -rf helm-v2.16.1-linux-amd64.tar.gz
cp -s /usr/local/helm/linux-amd64/helm /usr/local/bin/

3 .配置helm的Service account及其相关角色

## 配置helm的Service account及其相关角色 ##
 
 
#编辑文件helm-rbac.yml
vi helm-rbac.yml
 
 
#输入以下内容
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: helm
  name: helm-admin
  namespace: kube-system
 
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: helm-admin
  labels:
    k8s-app: helm
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: helm-admin
    namespace: kube-system
 
 
#创建
kubectl apply -f helm-rbac.yml
#检查是否创建成功
[root@216 ~]# kubectl get sa --all-namespaces | grep helm
kube-system         helm-admin                                1         80m

4.创建tiller

#初始化时,同时设置repo为阿里镜像
[root@216 helm]# helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/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

5 . 验证

#检查tiller是否在k8s中启动成功
[root@216 ~]# kubectl get pods -n kube-system | grep tiller
tiller-deploy-6c74c8774-n7v84            1/1     Running             0          29m
 
 
#检查helm的版本
[root@216 ~]# helm version
Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表