kubeadm部署单master节点( 五 )
Flannel通过给每台宿主机分配一个子网的方式为容器提供虚拟网络 , 它基于Linux TUN/TAP , 使用UDP封装IP包来创建overlay网络 , 并借助etcd维护网络的分配情况
(1)默认方法默认大家从网上的教程都会使用这个命令来初始化 。
~]# kubectl apply -f
事实上很多用户都不能成功 , 因为国内网络受限 , 所以可以这样子来做 。
(2)更换flannel镜像源修改本地的hosts文件添加如下内容以便解析才能下载该文件
199.232.28.133raw.githubusercontent.com
然后下载flannel文件
[root@master ~]# curl -o kube-flannel.yml
编辑镜像源 , 默认的镜像地址我们修改一下 。 把yaml文件中所有的quay.io 修改为quay-mirror.qiniu.com
[root@master ~]# sed -i 's/quay.io/quay-mirror.qiniu.com/g' kube-flannel.yml
此时保存保存退出 。 在master节点执行此命令 。
[root@master ~]# kubectl apply -f kube-flannel.yml podsecuritypolicy.policy/psp.flannel.unprivileged createdclusterrole.rbac.authorization.k8s.io/flannel createdclusterrolebinding.rbac.authorization.k8s.io/flannel createdserviceaccount/flannel createdconfigmap/kube-flannel-cfg createddaemonset.apps/kube-flannel-ds-amd64 createddaemonset.apps/kube-flannel-ds-arm64 createddaemonset.apps/kube-flannel-ds-arm createddaemonset.apps/kube-flannel-ds-ppc64le createddaemonset.apps/kube-flannel-ds-s390x created
这样子就可以成功拉取flannel镜像了 。 当然你也可以使用我提供给大家的kube-flannel.yml文件 。
- 查看kube-flannel的pod是否运行正常
[root@master ~]# kubectl get pod -n kube-system | grep kube-flannelkube-flannel-ds-amd64-8svs61/1Running044skube-flannel-ds-amd64-k5k4k0/1Running044skube-flannel-ds-amd64-mwbwp0/1Running044s
(3)无法拉取镜像解决方法像上面查看kube-flannel的pod时发现不是Running , 这就表示该pod有问题 , 我们需要进一步分析 。执行kubectl describe pod xxxx如果有以下报错:
NormalBackOff24m (x6 over 26m)kubelet, master3Back-off pulling image "quay-mirror.qiniu.com/coreos/flannel:v0.12.0-amd64"WarningFailed11m (x64 over 26m)kubelet, master3Error: ImagePullBackOff
或者是Error response from daemon: Get : net/http: TLS handshake timeout
上面的这些都表示是网络问题不能拉取镜像 , 我这里给大家提前准备了flannel的镜像 。 导入一下就可以了 。[root@master ~]# docker load -i flannel.tar
2.7、验证节点是否可用稍等片刻 , 执行如下指令查看节点是否可用[root@master ~]# kubectl get nodesNAMESTATUSROLESAGEVERSIONmasterReadymaster82mv1.17.6node1Ready60mv1.17.6node2Ready55mv1.17.6
目前节点状态是Ready , 表示集群节点现在是可用的 。3、测试kubernetes集群3.1、kubernetes集群测试(1)创建一个nginx的pod现在我们在kubernetes集群中创建一个nginx的pod , 验证是否能正常运行 。
在master节点执行一下步骤:
[root@master ~]# kubectl create deployment nginx --image=nginxdeployment.apps/nginx created[root@master ~]# kubectl expose deployment nginx --port=80 --type=NodePortservice/nginx exposed
现在我们查看pod和service[root@master ~]# kubectl get pod,svc -o wideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATED NODEREADINESS GATESpod/nginx-86c57db685-kk7551/1Running029m10.244.1.10node1
- 在kubernetes中部署企业级ELK并使用其APM
- helm3部署milvus集群部署
- Jenkins发布PHP项目之一自动化部署
- 华为高管:5G网络部署初期,用户体验差
- 5G小基站沙龙 | 小基站将迎来规模化部署,凌华科技助力5G赋能千行百业
- 八戒谈科技|边缘计算、轻松部署新一代ES-2000系列嵌入式3D相机系统,深惠视发布双目相机
- FinPoints|清算桥是什么?FinPoints 深度解析“桥”的重要性1. 市场深度更佳2. 低延迟的交易执行和实时价格交付3. 新技术4.高效部署,MT5
- 风月无关|将在月球部署4G移动网络,NASA正与诺基亚合作
- 金十数据|我国回应:望重新审视相关决定,瑞典欲绕开华为中兴部署5G网络
- 科技实验室|又一重要部署!JDL京东物流要用科技改变供应链未来