##K8s 部署双栈

##主机的初始化

环境上用的是三台主机,非纯净的系统,所以,需要先将主机上关于k8的一些内容先清理干净,在主机上执行如下命令
kubeadm reset -f
ipvsadm --clear
rm -rf /etc/etcd
rm -rf /var/lib/etcd
rm -rf /etc/kubernetes
rm -rf /var/run/kubernetes
rm -rf /etc/cni
rm -rf /var/lib/cni
rm -rf /var/lib/kubelet
rm -rf /var/lib/dockershim
rm -rf /root/.kube
rm -rf /home/docker/.kube
systemctl disable kubelet
systemctl stop kubelet
在这里插入图片描述
脚本执行完后
在这里插入图片描述

当pod运行有问题的时候,如图所示:
在这里插入图片描述
查看详细信息
在这里插入图片描述
因为kubectl logs 看不到日志,猜想,需要调整下日志级别
查看原来的日志级别
在这里插入图片描述
将用到的yaml文件保存到本地查看
kubectl get daemonset calico-node -n kube-system -o yaml > /tmp/calico-node.yaml

kubectl get daemonset -n kube-system

直接更改日志级别
在这里插入图片描述
打开之后,搜索到日志级别处,改为debug
kubectl logs po/calico-node-kb2nc -n kube-system
这会这样,就能看出具体报出的什么问题
在这里插入图片描述
删掉有问题的pod
命令:kubectl delete pod -n kube-system xxxxxx
kubectl delete pod calico-node-fkn8t -n kube-system
在这里插入图片描述
解决完报错后,重新查看各pod的运行状态
kubectl get pods -A
在这里插入图片描述
新建服务来验证双栈是否可用。
此处以nginx镜像为例
在这里插入图片描述
创建应用,创建Deployment和service
Deployment的yaml文件
在这里插入图片描述
service的yaml文件
在这里插入图片描述
查看svc的详情
kubectl get svc -o yaml
在这里插入图片描述
可以看到ipv6和ipv4的地址信息
ping ipv6和ping ipv4分别如下
在这里插入图片描述
curl ipv6 和 curl ipv4
curl -D -6 -v -g http://[fd85:ee78:d8a6:8607::17cc]:80/
在这里插入图片描述
在这里插入图片描述
查看pod的详情
kubectl get pod -o yaml
在这里插入图片描述
curl ipv6 和 ipv4
在这里插入图片描述
在这里插入图片描述
curl ip 与 ping ip 都已访问成功,双栈验证结束

Logo

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

更多推荐