zoukankan      html  css  js  c++  java
  • 十六. k8s--helm安装与使用

    helm介绍

    helm把一系列复杂的有状态和无状态服务的部署封装起来(实际上就是对yaml文件的组织),然后你可以暴露出一些自定义参数信息供用户选择,这样部署就会变得简单很多.

    核心术语

    • Helm 是一个命令行下的客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。
    • Tiller 是 Helm 的服务端,部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求,并根据 Chart 生成 Kubernetes 的部署文件( Helm 称为 Release ),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。
    • Chart Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件
    • Repoistory Helm 的软件仓库,Repository 本质上是一个 Web 服务器,该服务器保存了一系列的 Chart 软件包以供用户下载,并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository。
    • Release 使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release

    helm安装

    helm安装

    wget https://get.helm.sh/helm-v2.14.3-linux-amd64.tar.gz
    tar xf helm-v2.14.3-linux-amd64.tar.gz
    cd linux-amd64 #进入解压目录会看到两个可执行文件helm和tiller, 若采用容器化部署到kubernetes中,则可以不用管tiller,只需将helm复制到/usr/bin目录即可
    cp helm /usr/bin/
    echo "source <(helm completion bash)" >> /root/.bashrc # 命令自动补全
    

    Tiller安装

    创建tiller相关的rbac

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: tiller
      namespace: kube-system
    ---
    apiVersion: rbac.authorization.k8s.io/v1beta1
    kind: ClusterRoleBinding
    metadata:
      name: tiller
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
      - kind: ServiceAccount
        name: tiller
        namespace: kube-system
    
    helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
    

    因为墙, 所以指定国内tiller镜像, tiller标签和helm保持一致, 这里是v2.14.3

    kubectl get pods -n kube-system -l app=helm
    kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
    

    初始化后通过命令查看tiller pod创建情况

    helm使用

    添加chart源

    由于阿里的chart源可能更新不及时, 会比较老, 所以建议替换为默认源或者微软的azure源

    参考链接: https://github.com/BurdenBear/kube-charts-mirror

    helm repo add stable  http://mirror.azure.cn/kubernetes/charts/
    helm repo add incubator  http://mirror.azure.cn/kubernetes/charts-incubator/
    

    基础命令

    命令 作用
    搜索chart helm search CHARTNAME
    查看chart详细信息 helm inspect CHARTNAME
    安装 helm install --name mem1 stable/memcached [--dry-run]
    获取状态信息 helm status mem1
    列出release helm list [-a]
    删除release helm delete [--purge] mem1
    下载chart helm fetch stable/redis
    创建chart helm create CHARTNAME
    语法检测 helm lint CHARTNAME
    打包 helm package CHARTNAME

    参考链接

    https://www.cnblogs.com/tylerzhou/p/11100649.html
    https://jimmysong.io/kubernetes-handbook/practice/helm.html

  • 相关阅读:
    linux command mktemp
    易经中时常会想起的句子
    判断NumLock键和CapsLock键是否被锁定
    获得虚拟键键码
    获取功能键
    捕获组合键
    模拟鼠标操作
    利用鼠标绘图
    使用鼠标拖放复制文本
    双击窗体是模拟键盘上的Tab键
  • 原文地址:https://www.cnblogs.com/peitianwang/p/11649621.html
Copyright © 2011-2022 走看看