目录

很重要,要看!

1 dashboard部署

1.1 部署遇到的问题

1.2 日志查看

1.3 遗留问题

2 Master污点

3 RBAC

4 dashboard卸载删除

5 vm搭建k8s系列参考

6 笔者心路历程


上一篇已经讲完了,k8s安装和部署。这篇来讲解下k8s如何部署应用和管理。

很重要,要看!

k8s部署之后,就是关于应用的部署和管理了,不过这块内容,需要我们安装dashboard,通过可视化界面来操作。笔者呢,在安装dashboard过程也是遇到了很多问题,最后虽然安装成功了,并可以登录上去,但是仍然不能使用,经过了解,目前一般都是使用kk来安装k8s和kubesphere(用来辅助部署和管理应用的插件),因此作者就不深挖[vm搭建k8s]系列的后续的内容了,转战基于kk的k8s系列。但是下面作者会针对已经研究过的部分,附上安装过程、遇到的问题,和一些参考资料,同时分享下作者安装k8s的几个关键的心路历程,有兴趣的可以看下。然后马上就开始一个新的专题:[基于kk搭建k8s和kubesphere]

下面附上[vm搭建k8s]的收尾内容。

1 dashboard部署

参考:

K8S dashboard搭建部署,以及拒绝访问,ImagePullBackOff,ErrImagePull,CrashLoopBackOff问题解决_heliu3的博客-CSDN博客K8S dashboard搭建部署,以及拒绝访问,ImagePullBackOff,ErrImagePull,CrashLoopBackOff问题解决dashboard部署官网有详细步骤:https://github.com/kubernetes/dashboard#kubernetes-dashboard1. 执行一下代码安装kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deplhttps://blog.csdn.net/heliu3/article/details/108770151

1.1 部署遇到的问题

 下面的问题描述,大家姑且慢看,因为没遇到这些问题,看了可能有点晕脑。

  1. 安装之后,kubectl get pod,svc -n kube-system,发现dashboard的服务并没有在运行:这个其实是要等,如果网络不好,就重新再执行:初始化dashboard的服务。
  2. 服务起来了之后,发现通过master节点的ip+30001端口,访问不到该服务,但是端口有启动的。通过localhost+30001却又可以,为了做对比,对6443的端口做同样的访问,没有任何问题,完全懵逼了。通过运行kubectl describe pod -n kube-system  kubernetes-dashboard-6745f84c7b-79q9q ,发现:部署的node的ip为worker节点的ip,于是通过node的ip+30001访问,发现有响应了。但是提示不能进一步访问了。最后在一个非常边缘的论坛发现,这个链接只能在火狐浏览器访问,试了一下,真的可以了
  3. 进入到登录页之后,又遇到问题了,使用token登录成功之后,提示错误: the server could not find the requested resouce,这个问题可能需要将dashboard在master节点上启动才可以。所以需要先卸载删除干净,再重新安装。

1.2 日志查看

既然出问题了,肯定会有错误的日志,查看日志的方式:

K8S 安装kubernetes-dashboard 报错,web无法访问,查看日志报错_255.255.255.0-CSDN博客#查看日志kubectl logs kubernetes-dashboard-5d4dc8b976-v2wzv -n kubernetes-dashboard报错内容:Initializing csrf token from kubernetes-dashboard-csrf secret panic: Get https://10.96.0.1:443/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-c..https://blog.csdn.net/zhangbaoxiang/article/details/107435424

1.3 遗留问题

Dashboard装好了,但是只能登陆,不能使用。因为时间限制,所以不进一步研究了。

2 Master污点

默认master上是不部署应用,这个跟一个概念有关系:污点。相关内容可以查看:

为k8s-master节点添加/移除污点taints_己亥谷雨-CSDN博客手动部署的k8s集群, 需要为master节点手动设置taints设置taint语法:12345kubectl taint node [node] key=value[effect] 其中[effect] 可取值: [ NoSchedule | PreferNoSchedule | NoExecute ] NoSchedule: 一定不能被调度 PreferNoSchedule: 尽量不要调度 Nohttps://blog.csdn.net/cd_yourheart/article/details/108766912?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.readhide&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.readhide

3 RBAC

 RBAC是一种权限控制策略。参加过软考的,都知道它是什么。k8s里头对RBAC的应用参考:

(在博客里头ctrl + f查找rbac)

k8s系列 - k8s-dashboard安装 | 鱼儿的博客本文档记录了dashboard安装流程,点击下载:k8s-dashboard安装.docx 。 以下内容由word文档直接导入,icon-default.png?t=L892https://yuerblog.cc/2018/11/30/k8s-dashboard/

4 dashboard卸载删除

卸载也很简单,执行以下命令即可:

kubectl delete -f https://kuboard.cn/install-script/kuboard.yaml

参考: 

kubernetes-dashboard卸载及其pod删除 | APP开发技术博客pod删除123456$ kubectl -n kube-system delete $(kubectl -n kube-system get pod -o name | grep dashboard)pod "kubernetes-dashboard-3313488171-7706x" deletedpod "kubernetes-dashboard-3313488https://www.appblog.cn/2019/07/23/kubernetes-dashboard%E5%8D%B8%E8%BD%BD%E5%8F%8A%E5%85%B6pod%E5%88%A0%E9%99%A4/

5 vm搭建k8s系列参考

感谢下面两个人的博客,虽然没办法一步到位,尤其对于新人来讲。

kubernetes的云中漫步(三)--kubeadm安装kubernetes集群_zy_xingdian的博客-CSDN博客环境准备(三台机器同时部署):1.准备三台服务器 k8s-master:192.168.122.201 k8s-node-1:192.168.122.202 k8s-node-2:192.168.122.2032.设置本地解析[root@k8s-master ~]# cat /etc/hosts127.0.0.1 localhost localhost.locald...https://blog.csdn.net/zy_xingdian/article/details/103853992

通过Kubeadm搭建Kubernetes(K8s)的Master节点和Node节点_房馥的技术博客-CSDN博客通过Kubeadm搭建Kubernetes的Master节点和Node节点一、环境要求:两台服务器,IP地址分别为192.168.11.11,192.168.11.12操作系统Centos7.6最低硬件配置:CPU 2核内存 2Gmaster上执行:sudo suhostnamectl set-hostname master1worker上执行:s...https://blog.csdn.net/fangfu123/article/details/105856494/

6 笔者心路历程

本次的教程的技术栈如下:

基于vmware构建三个centos7虚拟机,基于kubeadm来搭建kubernetes。

在这之前作者尝试过很多其他的方式,但是都碰壁,包括但不限于:

  1. 基于window版的docker:desktop
  2. 在desktop上创建了三个centos7的容器模拟三台机器
  3. 在每台机器上通过yum的方式来安装kubernetes和docker
  4. 结果:集群起来之后,不知道怎么更进一步了,在集成dashboard的时候就直接出错了。
  5. 结论:不建议使用套娃的方式:基于docker来搭建k8s集群。因为未知的坑很多。

下一篇开始更新基于kk搭建k8s和kubesphere

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐