Linux(企业级)——kubernetes(helm)

1. helm简介

  • Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。

  • Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。

  • 对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。

  • 对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。

2. helm安装

下载安装包
官网:https://helm.sh/docs/intro/

tar zxf helm-v3.1.1-linux-amd64.tar.gz
cd linux-amd64/
cp helm /usr/local/bin/

设置补齐

echo "source <(helm completion bash)" >> ~/.bashrc

在这里插入图片描述

helm search hub wordpress #搜索官方库
helm repo add stable http://mirror.azure.cn/kubernetes/charts/      #添加微软云
helm repo add aliyun  https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts #添加阿里云

3. 使用helm部署metrics-server

  1. 准备镜像

下载metrics-server_0.5.0-debian-10-r59.tar
将其导入仓库的bitnami/metrics-server目录下
在这里插入图片描述

  1. 准备chart

拉取官方chart,解压编辑部署配置文件

helm pull bitnami/metrics-server
cd metrics-server
vim values.yaml 
  imageRegistry: "reg.westos.org"
hostNetwork: true

在这里插入图片描述

  1. 部署

使用修改后的chart部署metrics-server

helm install metrics-server -n kube-system .

在这里插入图片描述查看节点状态
在这里插入图片描述
使用metrics监控节点状态
在这里插入图片描述

4. 使用helm构建chart

新建项目mychart

helm create mychart

在这里插入图片描述在这里插入图片描述
修改chart项目描述信息

vim mychart/Chart.yaml
apiVersion: v2
name: mychart
type: application
version: 0.1.0
appVersion: v1

修改value部署信息

vim value.yaml
replicaCount: 1

image:
  repository: myapp
  pullPolicy: IfNotPresent
  tag: "v1"

在这里插入图片描述

在这里插入图片描述
检测配置是否正确,并且打包

 helm  lint mychart/ 
 helm  package mychart/

在这里插入图片描述
在这里插入图片描述

配置harbor仓库认证证书,harbor仓库配置时生成,存放在docker配置目录下,只需复制即可。

在这里插入图片描述

安装helm push插件

helm plugin install https://github.com/chartmuseum/helm-push

获取插件目录

在这里插入图片描述解压至目录中
在这里插入图片描述为helm添加本地仓库

elm repo add westos https://reg.westos.org/chartrepo/charts

上传chart至本地仓库
在这里插入图片描述在仓库中查找mychart
在这里插入图片描述查看部署状态,查看部署是否成功

在这里插入图片描述
修改升级为v2,打包

vim mychart/Chart.yaml
apiVersion: v2
name: mychart
type: application
version: 0.2.0
appVersion: v2

修改value部署信息

vim value.yaml
replicaCount: 1

image:
  repository: myapp
  pullPolicy: IfNotPresent
  tag: "v2"

打包
在这里插入图片描述
上传
在这里插入图片描述使用helm升级mychart

helm upgrade mychart westos/mychart

在这里插入图片描述再次测试部署升级是否成功,app已成功升级
在这里插入图片描述测试回滚

helm rollback mychart 1

在这里插入图片描述测试回滚成功
在这里插入图片描述

5 . 使用helm部署kubeapps

拉取bitnami chart

helm pull bitnami/kubeapps

导入镜像

docker load -i kubeapps-2.3.3.tar
docker images | grep bitnami |awk  '{system("docker push "$1":"$2"")}'

解压,编辑部署文件,修改镜像路径

  hostname: kubeapps.westos.org
    repository: bitnami/nginx
	repository: bitnami/kubeapps-dashboard
	repository: bitnami/kubeapps-apprepository-controller
	...
	ingress:
  enabled: true

创建namespace,绑定角色等

kubectl create serviceaccount kubeapps-operator -n kubeapps
kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=kubeapps:kubeapps-operator

安装部署kubeapps

helm install kubeapps -n kubeapps .

在这里插入图片描述
成功配置到ingress服务

在这里插入图片描述
在这里插入图片描述

在访问节点时配置解析

vim /etc/hosts
172.25.52.100 kubeapps.westos.org

访问kubeapps
在这里插入图片描述
获取token,登陆

kubectl get secrets -n kubeapps
kubectl describe secrets -n kubeapps kubeapps-operator-token-f5gkk

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加本地的chart仓库
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

搜索私有仓库chart,成功
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值