第四阶段
时 间:2023年8月10日
参加人:全班人员
内 容:
Kubernetes集群部署下篇
目录
一、安装flannel
二、安装Dashboard UI
(一)部署Dashboard
(二)开放端口设置
(三)权限配置
(四)访问Token配置
三、安装metrics-server
1、在Node节点上下载镜像
2、修改 Kubernetes apiserver 启动参数
3、Master上进行部署
ps备注:本文所用到的kubernetes的文档,均可以从k8s官网上下载,而后根据自己需要进行相应的修改
官网地址:Kubernetes
一、安装flannel
Master 节点NotReady 的原因就是因为没有使用任何的网络插件,此时Node 和Master的连接还不正常。目前最流行的Kubernetes 网络插件有Flannel、Calico、Canal、Weave 这里选择使用flannel。
所有主机:
master上传kube-flannel.yml,所有主机上传flannel_v0.12.0-amd64.tar
[root@k8s-master ~]# docker load < flannel_v0.12.0-amd64.tar
上传插件:
[root@huyang1 ~]# tar xf cni-plugins-linux-amd64-v0.8.6.tgz
[root@huyang1 ~]# cp flannel /opt/cni/bin/
master主机:
[root@k8s-master ~]# kubectl apply -f kube-flannel.yml
[root@k8s-master ~]# kubectl get nodes
[root@k8s-master ~]# kubectl get pods -n kube-system
已经是ready状态
二、安装Dashboard UI
(一)部署Dashboard
dashboard的github仓库地址:https://github.com/kubernetes/dashboard
代码仓库当中,有给出安装示例的相关部署文件,我们可以直接获取之后,直接部署即可
[root@k8s-master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
默认这个部署文件当中,会单独创建一个名为kubernetes-dashboard的命名空间,并将kubernetes-dashboard部署在该命名空间下。dashboard的镜像来自docker hub官方,所以可不用修改镜像地址,直接从官方获取即可。
(二)开放端口设置
在默认情况下,dashboard并不对外开放访问端口,这里简化操作,直接使用nodePort的方式将其端口暴露出来,修改serivce部分的定义:
所有主机下载镜像:
[root@k8s-master ~]# docker pull kubernetesui/dashboard:v2.0.0
[root@k8s-master ~]# docker pull kubernetesui/metrics-scraper:v1.0.4
[root@k8s-master ~]# vim recommended.yaml
40 type: NodePort 44 nodePort: 32443
(三)权限配置
配置一个超级管理员权限
[root@k8s-master ~]# vim recommended.yaml
164 name: cluster-admin
[root@k8s-master ~]# kubectl apply -f recommended.yaml
[root@k8s-master ~]# kubectl get pods -n kubernetes-dashboard
[root@k8s-master ~]# kubectl get pods -A -o wide
(四)访问Token配置
使用谷歌浏览器测试访问 https://192.168.100.131:32443
可以看到出现如上图画面,需要我们输入一个kubeconfig文件或者一个token。事实上在安装dashboard时,也为我们默认创建好了一个serviceaccount,为kubernetes-dashboard,并为其生成好了token,我们可以通过如下指令获取该sa的token:
[root@k8s-master ~]# kubectl describe secret -n kubernetes-dashboard $(kubectl get secret -n kubernetes-dashboard |grep kubernetes-dashboard-token | awk '{print $1}') |grep token | awk '{print $2}'
三、安装metrics-server
1、在Node节点上下载镜像
heapster已经被metrics-server取代
[root@k8s-node01 ~]# docker pull bluersw/metrics-server-amd64:v0.3.6
[root@k8s-node01 ~]# docker tag bluersw/metrics-server-amd64:v0.3.6 k8s.gcr.io/metrics-server-amd64:v0.3.6
2、修改 Kubernetes apiserver 启动参数
在kube-apiserver项中添加如下配置选项 修改后apiserver会自动重启
[root@k8s-master ~]# vim /etc/kubernetes/manifests/kube-apiserver.yaml
3、Master上进行部署
[root@k8s-master ~]# wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
修改安装脚本:
[root@k8s-master ~]# vim components.yaml
[root@k8s-master ~]# kubectl create -f components.yaml
等待1-2分钟后查看结果
[root@k8s-master ~]# kubectl get pods -A -o wide
[root@k8s-master ~]# kubectl top nodes
再回到dashboard界面可以看到CPU和内存使用情况了
到此K8S集群安装全部完成!!!