1.问题
deploy.yaml
apiVersion: apps/v1kind: Deploymentmetadata: name: service-deployment namespace: devspec: replicas: 3 selector: matchLabels: app: nginx-pod template: metadata: labels: app: nginx-pod spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80
service.yaml
apiVersion: v1kind: Servicemetadata: name: service-type namespace: devspec: selector: app: nginx-pod clusterIP: 10.1.97.97 type: ClusterIP ports: - port: 80 #service端口 targetPort: 80 #pod端口
创立之后信息
[root@node1 ~]# kubectl describe svc -n devName: service-typeNamespace: devLabels: <none>Annotations: <none>Selector: app=nginx-podType: ClusterIPIP Families: <none>IP: 10.1.97.97IPs: 10.1.97.97Port: <unset> 80/TCPTargetPort: 80/TCPEndpoints: 10.244.1.44:80,10.244.1.45:80,10.244.2.46:80Session Affinity: NoneEvents: <none>
pod信息
[root@node1 ~]# kubectl get pod -n dev -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESservice-deployment-848c68b85-8jvcv 1/1 Running 0 90m 10.244.1.44 node2 <none> <none>service-deployment-848c68b85-m62qb 1/1 Running 0 90m 10.244.1.45 node2 <none> <none>service-deployment-848c68b85-qwz5w 1/1 Running 0 90m 10.244.2.46 node3 <none> <none>
在node2节点上拜访node3上的pod 10.244.2.46:80 不通
2.解决过程
找到flannel配置名
[root@node2 docker]# kubectl get pod -n kube-systemNAME READY STATUS RESTARTS AGEcoredns-7f89b7bc75-jvfhw 1/1 Running 4 6d12hcoredns-7f89b7bc75-x6kqb 1/1 Running 4 6d12hetcd-node1 1/1 Running 4 6d12hkube-apiserver-node1 1/1 Running 4 6d12hkube-controller-manager-node1 1/1 Running 8 6d12h--kube-flannel-ds-bqs55 1/1 Running 0 18hkube-flannel-ds-czjxv 1/1 Running 5 6d12hkube-flannel-ds-mbgm4 1/1 Running 4 6d12h---kube-proxy-2tn4g 1/1 Running 0 132mkube-proxy-4tc4f 1/1 Running 0 132mkube-proxy-bwsgv 1/1 Running 0 132mkube-scheduler-node1 1/1 Running 8 6d12h
获取flannel的配置名称
kubectl edit pod -n kube-system kube-flannel-ds-bqs55
找到flannel配置名
批改配置,kube-flannel-ds为flannel配置文件名称
kubectl edit daemonset kube-flannel-ds -n kube-system
指定网卡为第二块网卡,能够通过ifconfig来进行查看
找到所有kube-flannelpod
[root@node2 docker]# kubectl get pod -n kube-system | grep kube-flankube-flannel-ds-b7qfq 1/1 Running 0 29skube-flannel-ds-w9hts 1/1 Running 0 17skube-flannel-ds-zpzmb 0/1 Init:0/1 0 1s[root@node2 docker]# kubectl delete pod -n kube-system kube-flannel-ds-b7qfq kube-flannel-ds-w9hts kube-flannel-ds-zpzmbpod "kube-flannel-ds-b7qfq" deletedpod "kube-flannel-ds-w9hts" deletedpod "kube-flannel-ds-zpzmb" deleted
删除之后,从新创立即可失常拜访
参考 https://www.jianshu.com/p/ed1...