网站建设优化文章,王也高清全屏壁纸,网站模版切换,机械加工网厂Kubernetes14#xff1a;Helm介绍#xff08;为了部署像微服务这种的大型项目#xff09;
1、Helm的引入
(1)之前方式部署应用基本过程
编写yaml文件
1、deployment
kubectl create deployment nginx --imagenginx --dryrun -o yaml nginx.yaml2、Service
kubect…Kubernetes14Helm介绍为了部署像微服务这种的大型项目
1、Helm的引入
(1)之前方式部署应用基本过程
编写yaml文件
1、deployment
kubectl create deployment nginx --imagenginx --dryrun -o yaml nginx.yaml2、Service
kubectl expose deployment nginx --port80 --target-port80 --typeNodePort3、Ingress
如果使用之前方式部署单一应用少数服务的应用比较合适
部署微服务项目可能有几十个服务每个服务都有一套yaml文件需要维护大量的yaml文件版本管理特别不方便
2、使用helm可以解决哪些问题
1使用helm可以把这些yaml文件作为一个整体管理
2实现yaml高效复用
3实现应用级别的版本管理
3、Helm介绍
Helm是一个Kubernetes的包管理工具就像Linux下的包管理器如yum/apt等可以很方便的将之前打包好的yaml文件部署到kubernetes上。
Helm有3个重要概念
(1)helm一个命令行客户端工具主要用于Kubernetes应用chart的创建、打包、发 布和管理。
(2)Chart应用描述一系列用于描述k8s资源相关文件的集合。
(3)Release基于Chart的部署实体一个chart被Helm运行后将会生成对应的一个 release将在k8s中创建出真实运行的资源对象。
4、He1m三个重要概念
1helm 是一个命令行客户端工具
2chart 把yaml打包,是yaml集合
3Release 基于chart部署实体应角级别的版本管理
5、he1m在2019年发布V3版本和之前版本相比有变化
1V3 版本删除Tiller
2release 可以在不同命名空间重用
3将chart推送到docker镜像仓库中
6、helm架构变化 安装和配置仓库
1、helm安装
官网下载 helm.sh
第一步 下载helm安装压缩文件上传到1iunx系统中
第二步 解压helm压缩文件把解压之后helm目录复制到 usr/bin目录下 2、配置helm仓库
1添加仓库
helm repo add 仓库名 仓库地址
helm repo add stable http://mirror.azure.cn/kubernetes/charts
helm repo add allyun https://kubernetes.oss-cn-hangzhou.allyuncs.com/charts
helm repo list可以加两个仓库但没必要
2更新仓库
helm repo update3删除仓库
helm repo remove aliyun3、使用helm快速部署应用
第一步、使用命令搜索应用
helm search repo 名称weave
第二步、 根据搜索内容选择安装
helm install 安装之后名称 搜索之后应用名称
查看安装之后状态
helm list
helm status 安装之后名称 已经创建好了pods和svc 但是没有对外暴露端口
修改service的yaml文件,type改为NodePort
kubectl edit svc ui-weave-scope 修改 kubectl get svc 如何自己创建Chart
1、使用命令创建chart helm create mychart 进入文件夹 2、在templates.文件夹创建两个yaml文件
先试用 rm -rf * 命令删除该文件中所以的示例文件
deployment.yaml
kubectl create deployment web1 --imagenginx --dry-run -o yaml deployment.yaml
service.yaml
kubectl create deployment web1 --imagenginx为了获取下边的yaml文件需要先将web1真实的创建出来获取到service.yaml之后再删除非通用方法
kubectl expose deployment web1 --port80 --target-port80 --typeNodePort --dry-run -o yaml service.yaml
kubectl delete deployment web1 3、安装mychart
helm install web1 mychart/
4、应用升级-----helm upgrade chart名称
helm upgrade webl mychart/
实现yaml高效复用
通过传递参数 动态渲染模板yam1内容 动态传入参数生成 在chart有values.Iyaml文件, 定义yaml文件全局变量
1、在value.yaml文件中定义变量和值
2、在具体的yaml文件获取定义变量值
特点yaml文件大体有几个地方不同的
Image
tag
label
port
replicas
第一步、在values.yaml定义变量和值 第二步、在templates的yaml文件使用values.yaml定义变量 deplyoment.yaml service.yaml helm install --dry-run web2 mychart/
helm install web2 mychart/