美文网首页
k8s 问题解决

k8s 问题解决

作者: Andy_1ee | 来源:发表于2021-03-10 14:24 被阅读0次
    1. core-dns 的 启动失败
    ## 原因: 
    由于liunx防火墙导致 core-dns 无法正常运行
    ## 解决方法
    1. 查看防火墙状态
    systemctl status firewall.service
    2. 关闭防火墙
    systemctl stop firewall.service
    3. 永久关闭防火墙
    systemctl disabled firewall.service
    
    1. 重启k8s后 etcd 启动失败
    ## 报错
    panic: recovering backend from snapshot error: database snapshot file path error
    或
    etcd failed to get all reachable pages
    ## 解决方法
    暴力解决: 
    cd /var/lib/etcd
    rm -rf *
    
    1. k8s集群关机后重启pod访问不到外网
    ## 问题描述
    k8s单机集群重启后, 在pod内不能正常访问外网, 但是在宿主机上可以正常访问
    ## 问题发现
    coredns中显示连接某个ip时显示连接失败, read timeout
    ##  问题解决
    1. iptables -F && iptables -t nat -F   # 清理iptables
    2. 删除相应的coredns pods 
    
    1. k8s证书延期后, apiserver与scheduler报错问题
    # 问题描述
    k8s集群证书到期后对证书进行续订, 操作后生成pod一直处于pending状态, 且apiserver与scheduler报错
    # 解决思路
    1. 按照[证书延期文档](https://www.jianshu.com/p/3863c95bca04)对证书进行延期
    2. 延期后创建pod一直处于pending状态
    3. 查看 apiserver日志, 发现 Unable to authenticate the request due to an error: x509: certificate has expired or is not yet valid
    4. 查看scheduler 日志, 发现 Failed to list *v1.xxx: Unauthorized
    5. 查询资料发现网上相关资料很少
    6. 重启 apiserver 容器, 发现问题依然存在
    7. 重启 scheduler容器, 问题解决
    
    1. k8s某台机器重启或者新加入某个节点时,宿主机和docker可以访问外网, 但是pod无法访问
    # 解决思路:
    $ iptables -P INPUT ACCEPT
    $ iptables -P FORWARD ACCEPT
    $ iptables -F
    $ iptables -L -n
    $ iptables -t nat -I POSTROUTING -s 172.1.2.0/24 -j MASQUERADE
    # 注:172.1.2.0/24是每个节点的pod-network-cidr
    

    相关文章

      网友评论

          本文标题:k8s 问题解决

          本文链接:https://www.haomeiwen.com/subject/qngaiktx.html