k8s集群问题记录

k8s学习方案 问题解决思路

主要学习路径:

rancher(k8s)->rke->helm->kubectl->k8s(k8s中文api)

常见问题总结:

  1. 怎么解决简单就怎么解决例如

    rancher的安装使用helm安装有问题,官网有bug就使用docker的方式安装一样简便,只是个客户端没必要死扣

  2. 对于由于环境问题引起的问题的 排查

    ./rke up 启动过程中提示有备份,这时候思路应该是路径或者环境变量中有残留文件导致失败

  3. 大框架学习思路

    从周边应用入手由应用带动学习内部构件。例如本次学习k8s,先起手一键式环境安装工具rancher,而后因为部署节点问题进一步研究一键式部署环境rke部署k8s,再进一步进行部署集群中的应用遇到问题学习helm,在进一步进行与部署应用进行交互和排查故障学习kubectl,进而了解和学习k8s全貌。现研究大框架使用带来的问题解决方案,再以此细化研究采用逐层的方式一步步深入。达到对k8s整个样貌的学习。

思考:
采用绘图工具进行抽象交互绘制,职能图绘制
采用时序图进行功能单元交互绘制

细节问题

  1. kubectl 连接交互rke生成k8s问题

    使用rke构建k8s集群会生成用于kubectl交互k8s的配置文件xxx-cluster-xxxconfig.yaml,通过kubectl通过此配置文件连接到k8s集群中进行日常排查工作。

x509: certificate signed by unknown authority (possibly because of \"crypto/rsa   while trying to verify candidate authority certificate "kube-ca
  1. 证书签名问题

    当./rke up启动的时候会创建 /etc/kubernetes 目录,如果已经有此目录就不会重新覆盖,里边包含了ssl 文件就不会更新成最新的导致etc 老是检查失败从而导致错误的发生。删除此目录,运行./rke up让这个目录重新生成就可以保证没有问题了。

Error from server (AlreadyExists): clusterrolebindings.rbac.authorization.k8s.io "cluster-admin-binding" already exists

3.进行集群导入到rancher的时候残留配置文件导致导入失败

sudo kubectl get clusterrolebindings cluster-admin-binding -o yaml

apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding

metadata: creationTimestamp: "2020-02-10T13:35:42Z" name:

cluster-admin-binding resourceVersion: "35967" selfLink:

/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/cluster-admin-binding

uid: d3c207d2-4adc-4e3e-951d-48c5ad99eeaa roleRef: apiGroup:

rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin

subjects:

sudo kubectl delete clusterrolebindings cluster-admin-binding

clusterrolebinding.rbac.authorization.k8s.io "cluster-admin-binding"

deleted

重新进行集群导入

常用命令学习以及使用

k8s集群问题记录的更多相关文章

  1. 记录一个奇葩的问题:k8s集群中master节点上部署一个单节点的nacos,导致master节点状态不在线

    情况详细描述; k8s集群,一台master,两台worker 在master节点上部署一个单节点的nacos,导致master节点状态不在线(不论是否修改nacos的默认端口号都会导致master节 ...

  2. k8s重要概念及部署k8s集群(一)--技术流ken

    重要概念 1. cluster cluster是 计算.存储和网络资源的集合,k8s利用这些资源运行各种基于容器的应用. 2.master master是cluster的大脑,他的主要职责是调度,即决 ...

  3. K8S集群 NOT READY的解决办法 1.13 错误信息:cni config uninitialized

    今天给同事 一个k8s 集群 出现not ready了 花了 40min 才搞定 这里记录一下 避免下载 再遇到了 不清楚. 错误现象:untime network not ready: Networ ...

  4. 国内k8s集群部署的几种方式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lusyoe/article/details/80217291前言总所周知,由于某种原因,通过官方的方 ...

  5. k8s 集群中的etcd故障解决

    一次在k8s集群中创建实例发现etcd集群状态出现连接失败状况,导致创建实例失败.于是排查了一下原因. 问题来源 下面是etcd集群健康状态: [root@docker01 ~]# cd /opt/k ...

  6. 关于K8s集群器日志收集的总结

    本文介绍了kubernetes官方提供的日志收集方法,并介绍了Fluentd日志收集器并与其他产品做了比较.最后介绍了好雨云帮如何对k8s进行改造并使用ZeroMQ以消息的形式将日志传输到统一的日志处 ...

  7. K8s集群安装--最新版 Kubernetes 1.14.1

    K8s集群安装--最新版 Kubernetes 1.14.1 前言 网上有很多关于k8s安装的文章,但是我参照一些文章安装时碰到了不少坑.今天终于安装好了,故将一些关键点写下来与大家共享. 我安装是基 ...

  8. CentOS7 使用 kubeadm 搭建 k8s 集群

    一 安装Docker-CE 前言 Docker 使用越来越多,安装也很简单,本次记录一下基本的步骤. Docker 目前支持 CentOS 7 及以后的版本,内核要求至少为 3.10. Docker ...

  9. 使用Kubeadm创建k8s集群之部署规划(三十)

    前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...

随机推荐

  1. win10修改jupyter notebook默认路径

    安装anaconda3 ,因此自带jupyter notebook 发送到jupyter notebook到桌面快捷方式 右击属性,将目标的%USERPROFILE%,修该为自己需要的路径 起始位置修 ...

  2. python三器

    1.1 装饰器 1.装饰器的作用 1. 装饰器作用:本质是函数(装饰其他函数)就是为其他函数添加其他功能 2. 装饰器必须准寻得原则: 1)不能修改被装饰函数的源代码 2)不能修改被装饰函数的调用方式 ...

  3. Postman: Test

    Tests 参考:Writing Tests Testing examples 这里写测试用例,进行一些判断等等.即处理断言 下面新建了两个测试用例,名字分别是”Status code is 200“ ...

  4. [CF1303B] National Project - 数学

    Solution \(2a>n\),一次性结束,直接输出 \(n\) \(a \geq b\),那么一直修即可,直接输出 \(n\) 否则,\(a\) 占弱势,我们考虑用 \(a\) 修一半需要 ...

  5. unity一些操作汇总

    设置父物体高度自适应子物体:父物体添加ContentSizeFitter,设置Horizeontal Fit和Vertical Fit为Preferred Size. ScrollView设置Cone ...

  6. R语言函数化学习笔记6

    R语言函数化学习笔记 1.apply函数 可以让list或者vector的元素依次执行一遍调用的函数,输出的结果是list格式 2.sapply函数 原理和list一样,但是输出的结果是一个向量的形式 ...

  7. Python入门11 —— 基本数据类型的操作

    一:数字类型:int.float字类型 1.操作: 比较运算:int与float之间是可以比较大小 数学运算:+-*/,int与float之间也可以进行数学运算 print(10 > 3.1) ...

  8. Python的字典、列表合并

    字典合并: 在日常工作中需要对字典进行合并操作,下面提供几个操作方法 1.使用dict(a,**b) 例: >>> a={'a':1,'b':2} >>> b={' ...

  9. @RendSection{"scripts",require:false}的作用

    MVC视图中,Javascripts代码被放于下面的Razor代码中(@section Scripts{}). 好处:在视图进行JavaScript编程时,是一个很好的实践,在共享视图(_Layout ...

  10. GNU Radio的hello world(转)

    运行GNU Radio 需要注意的是,如果您的项目不需要用到硬件源和硬件池的话,直接使用Shell运行GRC是没有问题的.但是需要用到硬件源和硬件池的话,请记得使用管理员权限运行GRC,否则项目在执行 ...