当前位置: 首页 > news >正文

helm安装解决无授权问题

在安装kubesphere的时候需要先安装镜像管理工具helm它配合着tiller服务能方面地创建拉取地三镜像库更像一个本地的maven工具,安装helm可以通过脚本的方式担是容易被强,下载二进制的软件包解压得到helm把它移动/user/local/bin目录下,然后查看版本,此时是不可用状态。

前提:helm需要权限和角色来访问tiller服务器,这种是行为是对镜像资源的保护,在k8s环境中安装,义pod形式或镜像的形式存在,由于tiller镜像需要外网所以下载镜像文件导入。

1 分配空间和角色,空间用来隔离每个相同的pod的多分存在,角色是保护好k8s所维护的容器环境,不轻易被用户删除,执行kubectl apply -f helm.abc.yam分配角色空间

2 初始化tiller服务,这个过程就是部署一个pod,这个行为定义多个资源,部署资源,服务资源等,资源有按类型区分,初始化tiller服务的时候指定本地已经下载好的镜像如helm init --service-account tiller --tiller-image=jessestuart/tiller:v2.16.3 --history-max 200如果要更行执行

helm init --service-account tiller --tiller-image=jessestuart/tiller:v2.16.3   --upgrade  --history-max 200加新版本,但这些都看似没问题的时候继续。

3 查看helm version,selm和tiller都在运行,可以为helm添加常用的镜像源,helm repo add/delete name,查看镜像源helm repo list 更新镜像源helm update,如果镜像源添加失败,是地址不正确或是还没有创建好服务pod,这时候想提前添加源需要创建源的配置文件,然后让helm执行源的加入,最后完成初始化。

4 验证功能是否可用,我安装kubesphere就是遇到helm不可用的问题,没有授权认证,意思是helm想通过tiller来管理镜像仓库,也需要经过k8s的同意认可,需要生成密钥对,这个过程如果你重复执行操作可能导致密钥过时不匹配,tiller无法认证处理k8s的环境资源,解决删除tiller部署,重新完成tiller命名空间角色的创建和tiller的初始化

5 卸载tiller,删除部署信息(一个pod的发布描述)

kubectl delete deployment tiller-deploy -n kube-system

删除额外的配置资源

kubectl get -n kube-system secrets,sa,clusterrolebinding -o name|grep tiller|xargs kubectl -n kube-system delete

kubectl get all -n kube-system -l app=helm -o name|xargs kubectl delete -n kube-system 

6 删除后重新完成,后面使用helm ls 和helm list即功能成功,安装kubesphere就不会报错

7 kubeadm集群初始化命令,找到合适的版本加上友好的网络一次成功(kubeadm部署k8s)

kubeadm init  --apiserver-advertise-address=10.0.2.9  --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers   --kubernetes-version v1.17.3   --service-cidr=10.96.0.0/16  --pod-network-cidr=10.244.0.0/16  

8报错检查镜像下载情况,手动下载,或者使用kubeadm提供的默认文件,将初始化的指令在文件中保存并应用执行达到同样的效果初始k8s

相关文章:

  • 宝塔:如何开启面板ssl并更新过期ssl
  • 【ROS2】中级:Launch-管理大型项目
  • Flutter RSA公钥转PEM
  • IntelliJ IDEA社区版在Windows电脑中的下载、安装方法
  • 【IT领域新生必看】编程中的错误处理大师:解密 `throw` 和 `throws` 的神秘差异
  • 【安全设备】数据库审计
  • vue 路由
  • JavaSE学习笔记第二弹——对象和多态(下)
  • 等保测评视角下的哈尔滨智慧城市安全框架构建
  • 2019年美赛题目Problem A: Game of Ecology
  • 硅纪元AI应用推荐 | 百度橙篇成新宠,能写万字长文
  • C++ 判断语句的深入解析
  • 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十八章 Linux编写第一个自己的命令
  • PageDTO<T>,PageQuery,BeanUtils,CollUtils的封装
  • openfoam生成的非均匀固体Solid数据分析、VTK数据格式分析、以及paraview官方用户指导文档和使用方法
  • 《剑指offer》分解让复杂问题更简单
  • export和import的用法总结
  • java8 Stream Pipelines 浅析
  • Linux CTF 逆向入门
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • React-flux杂记
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 利用jquery编写加法运算验证码
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 如何在GitHub上创建个人博客
  • 转载:[译] 内容加速黑科技趣谈
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ###C语言程序设计-----C语言学习(3)#
  • #565. 查找之大编号
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • ***测试-HTTP方法
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .bat批处理(一):@echo off
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .net core + vue 搭建前后端分离的框架
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET 给NuGet包添加Readme
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • /proc/vmstat 详解
  • :“Failed to access IIS metabase”解决方法
  • ?
  • @Autowired和@Resource的区别
  • @JSONField或@JsonProperty注解使用
  • [22]. 括号生成
  • [BUG]vscode插件live server无法自动打开浏览器
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)