zoukankan      html  css  js  c++  java
  • k8s集群dns问题解决办法

    故障类型

    我遇到的几次k8s集群的dns问题,大致分为几种:

    • 网络插件的pod挂掉了
    • 服务是双网卡的情况
    • 服务器自身的网络问题,比如路由

    解决办法

    1、确认宿主机的网络访问情况,dns解析。因为pod一般是复制宿主机信息。
    ping 114.114.114.114
    cat /etc/resolv
    centos7 可以在网卡配置dns覆盖resolv的配置,确认网卡中的dns删除掉。
    2、确认服务器路由,都使用同一个默认网关
    route -n
    netstat -r
    3、查看集群的网络组建 flannel和dns,确认pod运行状态正常
    kubectl get pod -n kube-system -o wide |grep flannel
    kubectl get pod -n kube-system |grep dns

    4、如果以上都正常。
    重启服务器网络
    systemctl restart network
    重启docker,清空exit状态的pod
    systemc restart docker
    docker container prune
    重启kubelet
    systemctl restart kubelet

    5、终极杀招
    重启服务器
    reboot

    测试脚本

    busybox

    部署一个DaemonSet的busybox运行在每个节点上

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: busybox-test
      namespace: default
    spec:
      selector:
        matchLabels:
          name: busybox-test
      template:
        metadata:
          labels:
            name: busybox-test
        spec:
          containers:
          - name: app
            image: busybox
            command:
              - sleep
              - "3600"
            imagePullPolicy: IfNotPresent
          terminationGracePeriodSeconds: 30                                                                                                                                     
    

    sh

    在kubectl服务器上执行脚本测试

    #!/bin/bash
    
    for i in `kubectl get pods -o wide |grep busy |awk '{print $1}'`
    do
    echo "开始执行测试.....$i"
    
    PODNAME=$i
    NODENAME=`kubectl get pods -o wide |grep $i | awk '{print $7}'`
    
    echo "正在执行测试主机名为$NODENAME,POD名为$PODNAME"
    
    kubectl exec $PODNAME -- nslookup my-nginx |grep -v 'find'
    
    echo "准备下一次测试"
    sleep 5
    done
    
  • 相关阅读:
    你的面向对象技术在哪个级别?
    图解面向对象中的聚合与耦合概念
    系统架构39问
    谈谈对一些软件架构设计箴言的理解
    mysql 常用见的错误处理
    mysql 局域网连接
    mysql版本:'for the right syntax to use near 'identified by 'password' with grant option'
    Ubuntu系统开放指定端口
    spring cloud 项目
    spring cloud 知识总结
  • 原文地址:https://www.cnblogs.com/zhaobowen/p/13469473.html
Copyright © 2011-2022 走看看