Helm安装使用总结 (helm 安装nginx 例子)

Helm安装使用总结 helm安装nginx例子

大纲

  • 概念
  • 安装与基础使用
  • helm安装nginx

概念

helm 是k8s上的软件安装程序 个人感觉类似 yum apt

Helm 的重要概念:

  • helm:一个命令行客户端工具,主要用于创建、打包、发布和管理 Helm Chart。
  • Chart:一系列 Kubernetes Yaml 文件的集合,将 Kubernetes Yaml 文件打包在一起,使用一条
    命令就可以部署应用程序。
  • Release:基于 Chart 部署的实体,每个 Chart 可以部署一个或多个 release。

目前稳定版是Helm3

官方文档 https://helm.sh/zh/

安装与基础使用

下载前注意 helm 与 k8s版本对应关系

在这里插入图片描述

我们当前的kubernetes版本为17 所以 helm使用3.1.x

在这里插入图片描述

下载地址 https://github.com/helm/helm/releases 使用3.x版本

在这里插入图片描述

下载解压后 复制到/usr/bin/ (也可以配置环境变量)

在这里插入图片描述

添加仓库

https://artifacthub.io/ 可以找相关的chart

helm3 没有默认的存储仓库 需要配置仓库

使用Artifact Hub来查找他们要查找的内容,然后添加他们首选的存储库

  • 微软仓库(http://mirror.azure.cn/kubernetes/charts/)这个仓库强烈推荐,基本上官网有的chart这里都有。

  • 阿里云仓库(https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts )

  • Bitnami库 https://charts.bitnami.com/bitnami

  • 官方仓库(https://hub.kubeapps.com/charts/incubator)官方chart仓库,国内有点不好使

    命令各式:
    helm repo list
    helm repo add 【自定义仓库名称】【仓库地址】
    helm repo update | remove 【自定义仓库名称】【仓库地址】
    
    # 添加仓库
    helm repo add stable http://mirror.azure.cn/kubernetes/charts
    helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
    helm repo add my-repo https://charts.bitnami.com/bitnami
    # 列出仓库
    helm repo list
    
    # 更新删除 仓库
    helm repo update aliyun 
    helm repo remove aliyun 
    

在这里插入图片描述

一旦添加了一个存储库,它的索引就将被本地缓存,直到下次更新它。然后可以搜索存储库。

Helm 基本命令使用

查询 chart

helm search repo 【chart名称】
helm search repo redis  显示最新的版本
helm search repo redis --versions   显示所有版本

在这里插入图片描述

安装 chart

helm install 【自定义名称】【仓库名称】/【chart名称】
helm install my-nginx my-repo/nginx

# 可携带参数
helm install --namespace 【k8s中的名字空间】
helm install --namespace mybase  my-nginx my-repo/nginx

# 可自定一些配置 使用--set
helm install my-nginx --set service.type=NodePort my-repo/nginx

# 尝试安装 --dry-run 不会真正安装到k8s中 但会输出deplayment.yml service.yml
helm install my-nginx --set service.type=NodePort  my-repo/nginx --dry-run

升级安装 当想修改某个配置的时候

例如安装时的配置
helm install my-nginx  my-repo/nginx --set service.ports.http=8181
修改端口为80
helm upgrade my-nginx  my-repo/nginx --set service.ports.http=80

卸载安装的 chart

helm uninstall 【安装时指定的名称】
helm uninstall my-nginx
#卸载指定命名空间下的chart
helm uninstall my-nginx --namespace  mybase

导出helm安装 模板

使用helm template 可以把安装需要的 deplayment service.yml导出
helm template my-nginx --set service.type=NodePort my-repo/nginx

在这里插入图片描述

helm安装nginx

测试helm 安装nginx

在 https://artifacthub.io 上搜索nginx 可以看到对应的安装步骤与配置参数

https://artifacthub.io/packages/helm/bitnami/nginx

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

本次测使用https://charts.bitnami.com/bitnami 作为仓库

helm list
helm list --all-namespaces #显示所有命名空间内安装的chart
helm repo list
helm search repo nginx 
helm install my-nginx --set service.type=NodePort --set service.ports.http=8181  my-repo/nginx

在这里插入图片描述

在k8s集群中查看

在这里插入图片描述

外部访问nginx 使用service NodePort 方式访问 (集群中任意一个主机ip:NodePort)

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

删除部署的chart

helm delete my-ngin

注意: 以上方式部署NodePort 是随机的不利于后面使用外部的nginx做反向代理

可以配置nodePort 端口 官方文档给出的配置是service.nodePorts

在这里插入图片描述

测试发现此配置应该写为

--set service.nodePorts.http

例如	
helm install my-nginx --set service.type=NodePort --set service.ports.http=8181 --set service.nodePorts.http=8888  my-repo/nginx
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寂寞的4角钱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值