下载

  1. HELM_VERSION=${K8S_VERSION:-"2.11.0"}
  2. HELM="helm-v${HELM_VERSION}-linux-amd64"
  3. curl -L https://storage.googleapis.com/kubernetes-helm/$HELM.tar.gz -o $HELM.tar.gz
  4. tar -xvzf $HELM.tar.gz -C /tmp
  5. mv /tmp/linux-amd64/helm /usr/local/bin/helm

2、验证安装

  1. helm version
  2. [apps@mvxl1484 ~]$ helm version
  3. Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
  4. Error: could not find tiller

  

3、安装tiller。首先搜索tiller

  1. docker search tiller
  2.  
  3. [apps@mvxl1484 k8s]$ docker search tiller
  4. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  5. sapcc/tiller Mirror of https://gcr.io/kubernetes-helm/t... 5
  6. jessestuart/tiller Nightly multi-architecture (amd64, arm64, ... 4 [OK]
  7. ist0ne/tiller https://gcr.io/kubernetes-helm/tiller 3 [OK]
  8. timotto/rpi-tiller k8s.io/tiller for Raspberry Pi 1
  9. itinerisltd/tiller 1
  10. rancher/tiller 1
  11. luxas/tiller 1
  12. ibmcom/tiller Docker Image for IBM Cloud private-CE (Com... 1
  13. ansibleplaybookbundle/tiller-apb An APB that deploys tiller for use with helm. 0 [OK]
  14. pcanham/tiller tiller image for Raspberry Pi for testing ... 0
  15. kubeapps/tiller-proxy 0
  16. appscode/tiller 0
  17. jmgao1983/tiller from gcr.io/kubernetes-helm/tiller 0 [OK]
  18. anjia0532/tiller 0
  19. 4admin2root/tiller gcr.io/kubernetes-helm/tiller 0 [OK]
  20. ibmcom/tiller-ppc64le Docker Image for IBM Cloud Private-CE (Com... 0
  21. szgrgo/helm-with-tiller Use helm and tiller together 0 [OK]
  22. 关注第一行:Mirror of https://gcr.io/kubernetes-helm/t...
  23.  
  24. 因为gcr.io库的封锁,用这个镜像。

  

4、编辑安装的yaml:

  1. cat tiller.yaml
  2. ---
  3. apiVersion: v1
  4. kind: ServiceAccount
  5. metadata:
  6. name: tiller
  7. namespace: kube-system
  8. ---
  9. apiVersion: rbac.authorization.k8s.io/v1beta1
  10. kind: ClusterRoleBinding
  11. metadata:
  12. name: tiller
  13. roleRef:
  14. apiGroup: rbac.authorization.k8s.io
  15. kind: ClusterRole
  16. name: cluster-admin
  17. subjects:
  18. - kind: ServiceAccount
  19. name: tiller
  20. namespace: kube-system
  21. [root@compass-user-hd-master3]:~#

  

5、执行命令:

  1. kubectl apply -f tiller.yaml

  

6、再次验证:

  1. [apps@mvxl1484 k8s]$ helm version
  2. Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
  3. Error: could not find a ready tiller pod

  

7、代表tiller的pod已经存在,但是没有运行起来。执行命令:

  1. [apps@mvxl1484 k8s]$ kubectl get pod --all-namespaces
  2. NAMESPACE NAME READY STATUS RESTARTS AGE
  3. 3d
  4. kube-system kubernetes-dashboard-58f5cb49c-zf7cn 1/1 Running 0 2d
  5. kube-system tiller-deploy-9bdb7c6bc-28rv6 0/1 ImagePullBackOff 0 42s

  

8、查看错误描述:

  1. [apps@mvxl1484 k8s]$ kubectl describe pod tiller-deploy-9bdb7c6bc-28rv6 -n kube-system
  2. Name: tiller-deploy-9bdb7c6bc-28rv6
  3. Namespace: kube-system
  4. Node: mvxl2655/10.16.91.120
  5. Start Time: Thu, 22 Nov 2018 18:00:01 +0800
  6. Labels: app=helm
  7. name=tiller
  8. pod-template-hash=568637267
  9. Annotations: <none>
  10. Status: Pending
  11. IP: 10.16.3.18
  12. Controlled By: ReplicaSet/tiller-deploy-9bdb7c6bc
  13. Containers:
  14. tiller:
  15. Container ID:
  16. Image: gcr.io/kubernetes-helm/tiller:v2.11.0
  17. Image ID:
  18. Ports: 44134/TCP, 44135/TCP
  19. State: Waiting
  20. Reason: ImagePullBackOff
  21. Ready: False
  22. Restart Count: 0
  23. Liveness: http-get http://:44135/liveness delay=1s timeout=1s period=10s #success=1 #failure=3
  24. Readiness: http-get http://:44135/readiness delay=1s timeout=1s period=10s #success=1 #failure=3
  25. Environment:
  26. TILLER_NAMESPACE: kube-system
  27. TILLER_HISTORY_MAX: 0
  28. Mounts:
  29. /var/run/secrets/kubernetes.io/serviceaccount from tiller-token-ls9t2 (ro)
  30. Conditions:
  31. Type Status
  32. Initialized True
  33. Ready False
  34. PodScheduled True
  35. Volumes:
  36. tiller-token-ls9t2:
  37. Type: Secret (a volume populated by a Secret)
  38. SecretName: tiller-token-ls9t2
  39. Optional: false
  40. QoS Class: BestEffort
  41. Node-Selectors: <none>
  42. Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
  43. node.kubernetes.io/unreachable:NoExecute for 300s
  44. Events:
  45. Type Reason Age From Message
  46. ---- ------ ---- ---- -------
  47. Normal Scheduled 1m default-scheduler Successfully assigned tiller-deploy-9bdb7c6bc-28rv6 to mvxl2655
  48. Normal SuccessfulMountVolume 1m kubelet, mvxl2655 MountVolume.SetUp succeeded for volume "tiller-token-ls9t2"
  49. Normal Pulling 1m (x2 over 1m) kubelet, mvxl2655 pulling image "gcr.io/kubernetes-helm/tiller:v2.11.0"
  50. Warning Failed 55s (x2 over 1m) kubelet, mvxl2655 Failed to pull image "gcr.io/kubernetes-helm/tiller:v2.11.0": rpc error: code = Unknown desc = Error response from daemon: Get https://gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  51. Warning Failed 55s (x2 over 1m) kubelet, mvxl2655 Error: ErrImagePull
  52. Warning Failed 50s (x5 over 1m) kubelet, mvxl2655 Error: ImagePullBackOff
  53. Normal SandboxChanged 49s (x7 over 1m) kubelet, mvxl2655 Pod sandbox changed, it will be killed and re-created.
  54. Normal BackOff 47s (x6 over 1m) kubelet, mvxl2655 Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.11.0"
  55. 最后一行代表镜像拉取失败:Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.11.0"

  

9、为此要使用之前搜索到的镜像,编辑deploy,更改镜像地址:

  1. [apps@mvxl1484 k8s]$ kubectl edit deploy tiller-deploy -n kube-system
  2. apiVersion: extensions/v1beta1
  3. kind: Deployment
  4. metadata:
  5. annotations:
  6. deployment.kubernetes.io/revision: "2"
  7. creationTimestamp: 2018-11-22T10:00:00Z
  8. generation: 2
  9. labels:
  10. app: helm
  11. name: tiller
  12. name: tiller-deploy
  13. namespace: kube-system
  14. resourceVersion: "398202"
  15. selfLink: /apis/extensions/v1beta1/namespaces/kube-system/deployments/tiller-deploy
  16. uid: 5fd7370d-ee3d-11e8-a632-0050568a39f2
  17. spec:
  18. replicas: 1
  19. selector:
  20. matchLabels:
  21. app: helm
  22. name: tiller
  23. strategy:
  24. rollingUpdate:
  25. maxSurge: 1
  26. maxUnavailable: 1
  27. type: RollingUpdate
  28. template:
  29. metadata:
  30. creationTimestamp: null
  31. labels:
  32. app: helm
  33. name: tiller
  34. spec:
  35. automountServiceAccountToken: true
  36. containers:
  37. - env:
  38. - name: TILLER_NAMESPACE
  39. value: kube-system
  40. - name: TILLER_HISTORY_MAX
  41. value: "0"
  42. image: sapcc/tiller:v2.11.0
  43. imagePullPolicy: IfNotPresent
  44. image gcr.io/kubernetes-helm/tiller:v2.11.0 替换成 image: sapcc/tiller:v2.11.0

  

10:、保存后,kubernetes会自动生效,再次查看pod,已经处于running状态了。

  1. [apps@mvxl1484 k8s]$ kubectl get pod -n kube-system
  2. tiller-deploy-6b84d85487-4h272 1/1 Running 0 45s

  

11、验证helm

  1. [apps@mvxl1484 k8s]$ helm version
  2. Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
  3. Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b

 

  • 问题解决
  • unable to do port forwarding: socat not found.
  1. [root@k8s-master hello-svc]# helm version
  2. Client: &version.Version{SemVer:"v2.8.1", GitCommit:"6af75a8fd72e2aa18a2b278cfe5c7a1c5feca7f2", GitTreeState:"clean"}
  3. E0224 14:13:16.077226 7416 portforward.go:331] an error occurred forwarding 37271 -> 44134: error forwarding port 44134 to pod 76a7312e49220a229e443546a4b32d3e0406f09fd9b3646b3d30f6833e121375, uid : unable to do port forwarding: socat not found.
  4. Error: cannot connect to Tiller

解决办法在k8s  所有node节点上安装socat

yum install socat -y

[kubernetes]helm安装的更多相关文章

  1. kubernetes包管理工具Helm安装

    helm官方建议使用tls,首先生成证书. openssl genrsa -out ca.key.pem openssl req -key ca.key.pem -new -x509 -days -s ...

  2. kubernetes实战(十):k8s使用Helm安装harbor

    1.基本概念 对于复杂的应用中间件,需要设置镜像运行的需求.环境变量,并且需要定制存储.网络等设置,最后设计和编写Deployment.Configmap.Service及Ingress等相关yaml ...

  3. kubernetes实战篇之helm安装

    系列目录 Helm是kubernetes的应用包管理工具,是CNCF孵化器下的一个项目,主要用来管理 Charts.类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM.它提供了一种简单 ...

  4. Helm 安装部署Kubernetes的dashboard

    Kubernetes Dashboard 是 k8s集群的一个 WEB UI管理工具,代码托管在 github 上,地址:https://github.com/kubernetes/dashboard ...

  5. [转帖]Kubernetes中安装Helm及使用

    Kubernetes中安装Helm及使用 2018年07月02日 17:41:09 灬勿忘丶心安 阅读数 3699更多 分类专栏: K8S   版权声明:本文为博主原创文章,遵循CC 4.0 BY-S ...

  6. helm安装kubernetes的插件istio

    1.安装istio 要使用Helm自定义Istio安装,请使用--set <key>=<value>Helm命令中的选项覆盖一个或多个值 怎么使用选项配置请查看官网https: ...

  7. kubernetes系列(十六) - Helm安装和入门

    1. helm简介 1.1 为什么需要helm 1.2 helm中几个概念 1.3 helm用途 2. helm安装 3. helm的基本使用 3.1 安装chart仓库里面的chart 3.2 创建 ...

  8. kubernetes系列(十七) - 通过helm安装dashboard详细教程

    1. 前提条件 2. 配置https证书为secret 3. dashboard安装 3.1 helm拉取dashboard的chart 3.2 配置dashboard的chart包配置 3.3 he ...

  9. kubernetes(k8s) helm安装kafka、zookeeper

    通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.he ...

随机推荐

  1. C# 串口导致电脑蓝屏一个可能的原因

    在某些win7电脑上, 如果使用SerialPort对象的Read(byte[] buffer, int offset, int count)方法读取端口数据时, 若端口接受缓存区的数据少于count ...

  2. hdu 2066 多起点 多终点

    多起点 多终点 无向图 结点的个数要自己求 Sample Input6 2 3 //边数 起点数 终点数1 3 5 //u v w1 4 72 8 123 8 44 9 129 10 21 2 //起 ...

  3. django的FormView中,自定义初始化表单数据的曲折方法

    这个技巧,主要是用于表单初始化及回显. 也就是说,如果用户的数据库里有数据,则要将相应的数据显示在表单里, 如果用户的数据库里没有数据,才会生成一个空白的表单给用户, 这样才显得专业塞! 而我面对的尴 ...

  4. springmvc中登录过滤器使用

      前言 一般的javaWeb项目中我们肯定会使用过滤器来实现对一些请求的过滤,通过过滤来实现对一些请求参数的设置和校验,比如我们比较熟悉的CharacterEncodingFilter就是一个字符编 ...

  5. java技术第二次作业

    (一)学习总结 1.什么是构造方法?什么是构造方法的重载? 构造方法是用于对对象初始化的方法,当新对象被创建的时候,构造函数会被调用. 每一个类都有构造函数.在程序员没有给类提供构造函数的情况下,Ja ...

  6. 关于pyinstaller打包程序时设置icon时的一个坑

    关于pyinstaller打包程序时设置icon时的一个坑     之前在用pyinstaller打包程序的时候遇到了关于设置图标的一点小问题,无论在后面加--icon 或是-i都出现报错.查了下st ...

  7. HDU1211 密文解锁 【扩展欧几里得】【逆元】

    <题目链接> <转载于 >>> > 题目大意: RSA是个很强大的加密数据的工具,对RSA系统的描述如下: 选择两个大素数p.q,计算n = p * q,F( ...

  8. P2326 AKN’s PPAP

    P2326 AKN’s PPAP比较裸的贪心从高位向下枚举,如果当前位为1的个数大于1,ans+=(1<<i),然后从这些数中再向下枚举. #include<iostream> ...

  9. XHR对象

    一.XMLHttpRequest对象 var xhr = new XMLHttpRequest(), i = 0; for(var key in xhr){ if(xhr.hasOwnProperty ...

  10. Cocos Creator代码编辑环境配置

    1,可以使用较为适合js的webstorm,亦可以采用VS: 2,若需要webstorm,在下载之后,在文件,设置内外部编辑器选用webstorm.exe,即可: 3,Visual Studio Co ...