zoukankan      html  css  js  c++  java
  • Helm系列(一) Helm介绍与使用

    一、什么是Helm

    (一)引入

       一般部署单一的应用,比如nginx,是通过编写yaml文件然后进行deployment、Service、Ingress这样的过程,但是假如现在需要部署几十个单体应用,这样的部署方式太过于繁琐,那么Helm就可以解决这样的问题,在Helm的官网上是这样介绍它的:

    The package manager for Kubernetes,是kubernetes包管理的工具,所以类似于yum、apt这样的包管理工具。可以方便的将yaml文件部署到kubernetes集群中。它可以解决下面一系列的问题:

    • 多个yaml文件进行整体管理
    • yaml文件的高效复用
    • 进行应用级别的版本管理

    (二)重要概念

    Helm中的重要概念:

    • Chart  代表Helm的包,可以理解为yum的rpm包,是yaml文件的集合
    • Repository 是用来存放和共享 charts 的地方,它是供 Kubernetes 包所使用的。
    • Release 是运行在 Kubernetes 集群中的 chart 的实例,每安装一次chart就会产生一个新的release,进行应用级别的版本管理
    • helm 是一个命令行客户端工具

    二、Helm实践

     (一)安装Helm

    下载安装包并解压:

    # 下载
    [root@k8smaster ~]# wget https://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gz
    
    # 解压
    [root@k8smaster ~]# tar -xzvf helm-v3.6.1-linux-amd64.tar.gz

    在解压目中找到helm程序,移动到需要的目录中(mv linux-amd64/helm /usr/local/bin/helm)

    [root@k8smaster ~]# mv linux-amd64/helm /usr/local/bin/helm

    (二)配置Helm仓库

    • 微软仓库 http://mirror.azure.cn/kubernetes/charts/
    • 阿里云仓库 https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
    • 官方仓库 https://hub.kubeapps.com/charts/incubator
    # 添加仓库
    [root@k8smaster ~]# helm repo add  aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
    "aliyun" has been added to your repositories
    
    [root@k8smaster ~]# helm repo add stable http://mirror.azure.cn/kubernetes/charts/
    "stable" has been added to your repositories
    
    
    # 查看仓库
    [root@k8smaster ~]# helm repo list
    NAME      URL                                                   
    aliyun    https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
    stable    http://mirror.azure.cn/kubernetes/charts/ 

    当然helm哈有很多其它命令,比如:

    helm repo update # 更新仓库
    helm repo remove aliyun #删除仓库
    ...

    更多信息查看 helm --help.

    (三)部署应用

    1、搜索应用

    # 通过helm search repo 名称
    [root@k8smaster ~]# helm search repo weave
    NAME                  CHART VERSION    APP VERSION    DESCRIPTION                                       
    aliyun/weave-cloud    0.1.2                           Weave Cloud is a add-on to Kubernetes which pro...
    aliyun/weave-scope    0.9.2            1.6.5          A Helm chart for the Weave Scope cluster visual...
    stable/weave-cloud    0.3.9            1.4.0          DEPRECATED - Weave Cloud is a add-on to Kuberne...
    stable/weave-scope    1.1.12           1.12.0         DEPRECATED - A Helm chart for the Weave Scope c...

    2、进行安装

    # helm install 安装后应用名称 搜索后应用名称
    [root@k8smaster ~]# helm install app-ui stable/weave-scope
    
    # 查看安装列表
    [root@k8smaster ~]# helm list
    
    # 查看安装状态
    [root@k8smaster ~]# helm status app-ui

    3、修改服务端口

    可以到已经安装好了,然后再查看一下服务:

    [root@k8smaster ~]# kubectl get svc
    NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
    app-ui-weave-scope   ClusterIP   10.107.225.177   <none>        80/TCP         7m8s

    不过貌似没有对外暴露端口,Service的类型是ClusterIP,所以需要改成NodePort类型:

    # 编辑资源文件
    [root@k8smaster ~]# kubectl edit svc  app-ui-weave-scope

    将其中的type字段的ClusterIP修改为NodePort即可:

    [root@k8smaster ~]# kubectl get svc
    NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
    app-ui-weave-scope   NodePort    10.107.225.177   <none>        80:31491/TCP   13m

    访问集群任何节点的31491端口即可。

    作者:iveBoy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Fuck,什么破书
    数组指针与指针数组的问题
    .....不敢私藏,魂淡啊...游戏程序员们懂的
    毕业设计做个3D赛车游戏
    原来是这样的,所噶
    出来混,迟早都是要还的
    Struts2源码学习DefaultConfiguration的RuntimeConfigurationImpl方法(运行期改造)
    Struts2中拦截器实现AOP的原理分析
    人生的两个方向:一个是出门,一个是回家(转载)
    Struts 2框架结构图
  • 原文地址:https://www.cnblogs.com/shenjianping/p/14940368.html
Copyright © 2011-2022 走看看