一、首先,我是看尚硅谷视频跟着操作出现了问题,视频链接:https://www.bilibili.com/video/av66617940/?p=58

再说下大概的部署流程

Helm 部署

Helm 包含两个组件:Helm 客户端和 Tiller 服务器,如下图所示

Helm 客户端负责 chart 和 release 的创建和管理以及和 Tiller 的交互。Tiller 服务器运行在 Kubernetes 集群中,它会处理 Helm 客户端的请求,与 Kubernetes API Server 交互

流程

1、客户端(Helm Client)和服务器端(Tiller)通过gRPC协议进行调用

2、我们在客户端(Helm Client)传递对应的指令,服务器端(Tiller)接收到数据后会把数据理解成对应的命令,然后和KubeAPI进行交互

3、KubeAPI接收到指令会生成对应的数据或资源

4、这些生成的数据或资源会被写入到etcd,kubernetes接受后进行创建

所以helm部署会分为两个部分部署:

1、客户端(Helm Client)部署

2、服务器端(Tiller)的部署

服务器端(Tiller)如图是部署到K8S集群的,所以以下就是服务器端(Tiller)的部署安装

二、安装步骤,这些聪明的你肯定一看就懂,不多赘述了

wget https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz
tar -zxvf helm-v2.13.1-linux-amd64.tar.gz
cd linux-amd64/
cp helm /usr/local/bin/

为了安装服务端 tiller,还需要在这台机器上配置好 kubectl 工具和 kubeconfig 文件,确保 kubectl 工具可以在这台机器上访问 apiserver 且正常使用。这里的 node1 节点以及配置好了 kubectl

因为 Kubernetes APIServer 开启了 RBAC 访问控制,所以需要创建 tiller 使用的

service account(SA): tiller 并分配合适的角色给它。详细内容可以查看helm文档中的Role-based Access Control(https://helm.sh/docs/using_helm/#role-based-access-control)。这里简单起见直接分配cluster- admin 这个集群内置的 ClusterRole 给它。创建 rbac-config.yaml 文件:

#创建SA
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

#创建rbac.yaml

kubectl create -f rbac-config.yaml

#tiller的k8s集群的部署
helm init --service-account tiller --skip-refresh

 视频里边的成功Running了,我的就炸了。所以,正文开始!!!

三、自己安装时出现的问题

kubectl get pods -n kube-system

查看详细信息

kubectl describe pods tiller-deploy-58565b5464-jcv8w  -n kube-system

出现了这些问题

Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 91s default-scheduler Successfully assigned kube-system/tiller-deploy-58565b5464-jcv8w to liu-node01
Normal Pulling 51s (x2 over 84s) kubelet, liu-node01 Pulling image "gcr.io/kubernetes-helm/tiller:v2.13.1"
Warning Failed 21s (x2 over 64s) kubelet, liu-node01 Failed to pull image "gcr.io/kubernetes-helm/tiller:v2.13.1": 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)
Warning Failed 21s (x2 over 64s) kubelet, liu-node01 Error: ErrImagePull
Normal BackOff 6s (x2 over 63s) kubelet, liu-node01 Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.13.1"
Warning Failed 6s (x2 over 63s) kubelet, liu-node01 Error: ImagePullBackOff

根据问题描述,我先修改了自己的apiVersion,修改到自己环境对应的版本

利用kubectl explain ClusterRoleBinding查看

修改后还是有问题,不过问题变了,不是拉取错误,是拉取失败

再次查看:kubectl describe pods tiller-deploy-58565b5464-jcv8w  -n kube-system,可以发现是镜像出现了问题

Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 5m44s default-scheduler Successfully assigned kube-system/tiller-deploy-58565b5464-jcv8w to liu-node01
Normal Pulling 2m57s (x4 over 5m37s) kubelet, liu-node01 Pulling image "gcr.io/kubernetes-helm/tiller:v2.13.1"
Warning Failed 2m37s (x4 over 5m17s) kubelet, liu-node01 Failed to pull image "gcr.io/kubernetes-helm/tiller:v2.13.1": 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)
Warning Failed 2m37s (x4 over 5m17s) kubelet, liu-node01 Error: ErrImagePull
Warning Failed 2m10s (x7 over 5m16s) kubelet, liu-node01 Error: ImagePullBackOff
Normal BackOff 31s (x13 over 5m16s) kubelet, liu-node01 Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.13.1"

既然说我拉取的镜像有问题,所以我先去docker.hub上查了下,发现没有找到对应的镜像,所以要自己修改镜像,先直接搜索,看有那些镜像可以使用

然后去docker.hub官网找

拉取过程中,最新版本我没拉取成功,尝试了几个其他的才成功。拉取成功后,更改tag

docker tag sapcc/tiller:v2.15.2 gcr.io/kubernetes-helm/tiller:v2.13.1

再查看,发现还是没Running,说明镜像没有被使用,编辑配置文件,查看拉取策略

kubectl edit deployment tiller-deploy -n kube-system

最后查看,已经Running

 部署完成了,然后再后边看也看到类似的解决办法,文章链接:

https://www.jianshu.com/p/d0cdbb49569b

早看到他的也不用自己折腾半天了哈哈!!

Helm安装服务端tiller出现的问题的更多相关文章

  1. linux上安装php7 memcache扩展 和 安装服务端memcached

    linux上安装memcached不算太困难.唯一让本人感到困难的是 php7的memcache扩展安装.真的蛋疼! 先说安装服务端 memcached 1. 首先安装Libevent事件触发管理器. ...

  2. Redhat FreeIPA Server 安装服务端和客户端 (实验:VMware环境下)

    实验环境:windows7 + vmware 15 + redhat 71:准备2台虚拟机:      虚拟机VMnet8,Subnet IP:192.168.145.0      Redhat 7( ...

  3. OpenStack collectd的从零安装服务端

    安装collectd包操作同客户端相同,不在赘述 配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...

  4. kubernetes实战篇之helm安装

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

  5. Helm 安装使用

    简介 很多人都使用过Ubuntu下的ap-get或者CentOS下的yum, 这两者都是Linux系统下的包管理工具.采用apt-get/yum,应用开发者可以管理应用包之间的依赖关系,发布应用:用户 ...

  6. suse安装svn服务端和客户端的使用

    suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...

  7. NFS相关、NFS服务端安装配置、exportfs命令、nfs客户端的问题

    1.NFS (network file system,基于RPC协议) 2.NFS服务端安装配置安装服务端:yum install nfs-utils rpcbind -y安装客户端:yum inst ...

  8. CCBPM中的消息机制,CCIM服务端安装说明

    1.改动LeeIMService.exe.config服务端配置文件: 2.client的配置就比較简单了,仅仅须要在"SercerIP"节点上写上server的IP: 3.然后要 ...

  9. kubernetes包管理工具Helm安装

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

随机推荐

  1. 正则化的L1范数和L2范数

    范数介绍:https://www.zhihu.com/question/20473040?utm_campaign=rss&utm_medium=rss&utm_source=rss& ...

  2. How To Create/Extend Swap Partition In Linux Using LVM

    https://www.2daygeek.com/how-to-create-extend-swap-partition-in-linux-using-lvm/ BY RAMYA NUVVULA ·  ...

  3. 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)

      PID控制应该算是应用非常广泛的控制算法了.小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制.这里我们从原理上来理解PID控制. PID(proportion ...

  4. jmeter常用组件简介

    本文主要介绍jmeter使用过程中最常用的一些组件及其作用.性能测试时线程组中可以添加如下的组件,如图所示: test plan:测试计划,是其它组件的容器 thread:线程组,用来设置多少线程,怎 ...

  5. 大数据学习笔记之Zookeeper(三):Zookeeper理论篇(二)

    文章目录 3.1 数据结构 3.2 节点类型 3.3 特点 3.4 选举机制 3.5 stat结构体 3.6 监听器原理 3.1 数据结构 ZooKeeper数据模型的结构与Unix文件系统很类似,整 ...

  6. Kubernetes tutorial - K8S 官方入门教程

    tutorials 教程 kubectl 的命令手册 1 Creating a Cluster 1.1 Using Minikube to Create a Cluster Kubernetes Cl ...

  7. Harbor - 私有企业级 Docker 镜像仓库

    GitHub 地址 容器镜像服务 Docker镜像的基本使用 Docker:企业级私有镜像仓库Harbor使用 Harbor 是基于 Docker Registry 的企业级镜像仓库,安装后的使用方法 ...

  8. Vue Cli 3:vue.config.js配置文件

    Vue Cli 3生成的项目结构,没有build.config目录,而是使用vue.config.js来进行配置. vue.config.js 是一个可选的配置文件,如果项目的 (和 package. ...

  9. pygame应用——生产者消费者模型

    因为操作系统的一个生产者-消费者拓展作业,以一个飞机大战的模型修改来的 import pygame import time from pygame.locals import * bulletsNum ...

  10. 2019牛客暑期多校训练营(第三场)H Magic Line

    原题链接:H  Magic Line 题意简述: 给定n个点,要求画一条直线将n个点分成均有n / 2个点的两部分,不能有点在线上: 解题思路: 首先,先将所有的点进行以x为第一关键字,y为第二关键字 ...