V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dunhanson
V2EX  ›  程序员

rancher 部署 k8s dial tcp 10.43.0.1:443: i/o timeout

  •  
  •   dunhanson · 2020-07-29 23:16:55 +08:00 · 3121 次点击
    这是一个创建于 668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    错误信息 kubectl logs metrics-server-697746ff48-t58pd -n kube-system

    I0724 05:38:32.514508       1 serving.go:312] Generated self-signed cert (apiserver.local.config/certificates/apiserver.crt, apiserver.local.config/certificates/apiserver.key)
    Error: Get https://10.43.0.1:443/api/v1/namespaces/kub
    

    这是我搜到的解决办法。。。但是 rancher 怎么指定 k8s ip 范围? amIQYQ.png

    11 条回复    2020-08-14 11:05:42 +08:00
    dunhanson
        1
    dunhanson  
    OP
       2020-07-29 23:23:52 +08:00
    除了修改 ip 范围的方式还有其它方法吗?
    dunhanson
        2
    dunhanson  
    OP
       2020-07-30 00:09:08 +08:00
    这里?

    ```yaml
    #
    # services:
    # kube-api:
    # service_cluster_ip_range: 10.43.0.0/16
    # kube-controller:
    # cluster_cidr: 10.42.0.0/16
    # service_cluster_ip_range: 10.43.0.0/16
    # kubelet:
    # cluster_domain: cluster.local
    # cluster_dns_server: 10.43.0.10
    #
    ```
    dunhanson
        3
    dunhanson  
    OP
       2020-07-30 00:29:20 +08:00
    换了 ip 还是不行
    services:
    etcd:
    backup_config:
    enabled: true
    interval_hours: 12
    retention: 6
    safe_timestamp: false
    creation: 12h
    extra_args:
    election-timeout: '5000'
    heartbeat-interval: '500'
    gid: 0
    retention: 72h
    snapshot: false
    uid: 0
    kube-api:
    always_pull_images: false
    pod_security_policy: false
    service_cluster_ip_range: 172.17.0.0/16
    service_node_port_range: 30000-32767
    kube-controller:
    cluster_cidr: 172.16.0.0/16
    service_cluster_ip_range: 172.17.0.0/16
    kubelet:
    cluster_dns_server: 172.17.0.10
    cluster_domain: cluster.local
    fail_swap_on: false
    generate_serving_certificate: false
    kubeproxy: {}
    scheduler: {}
    whileFalse
        4
    whileFalse  
       2020-07-30 07:42:28 +08:00
    可能是整体就没起来。

    我昨天遇到了相同的 bug,不过我是 microk8s,部署单主机集群(就一台机器,既是 master 也是 node )。已注册 node 为 0,某些系统服务起不来。

    最终找到的原因是当前主机的 hostname 包含下划线,不是合法的 hostname,导致当前主机无法将自身注册为 node,从而导致一系列问题。
    dunhanson
        5
    dunhanson  
    OP
       2020-07-30 09:34:01 +08:00
    @whileFalse 我 hostname 正常的,三台,分别是 basic 、master 、node1
    难搞哦,有什么可以迅速定位问题在哪的?
    dunhanson
        6
    dunhanson  
    OP
       2020-07-30 10:46:03 +08:00
    help
    dunhanson
        7
    dunhanson  
    OP
       2020-07-30 12:42:15 +08:00
    https://s1.ax1x.com/2020/07/30/anzg6f.png

    etc controller work 都安装在一台,变成 cattle-cluster-agent-85d75fffdf-28sgv 老是重启了
    dunhanson
        8
    dunhanson  
    OP
       2020-07-30 17:17:34 +08:00
    好像可以了,我重新 clone 了符合 k8s 要求的虚拟机,然后创建 node1 、node2
    node1 安装 rancher 、etc 、controller,node2 安装 worker
    ![aKiZ2d.png]( https://s1.ax1x.com/2020/07/30/aKiZ2d.png)
    准备再观察一段时间看看
    dunhanson
        9
    dunhanson  
    OP
       2020-08-05 18:11:17 +08:00
    已找到解决办法,https://github.com/rancher/rancher/issues/16454

    我用的 CentOS 8.2

    ------------------------------------------------------
    sudo iptables -P FORWARD ACCEPT

    echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/50-docker-forward.conf

    for mod in ip_tables ip_vs_sh ip_vs ip_vs_rr ip_vs_wrr; do sudo modprobe $mod; echo $mod | sudo tee -a /etc/modules-load.d/iptables.conf; done

    sudo dnf -y install network-scripts

    sudo systemctl enable network

    sudo systemctl disable NetworkManager
    ------------------------------------------------------
    dunhanson
        10
    dunhanson  
    OP
       2020-08-14 00:27:59 +08:00
    CentOS 8.2 原生安装 k8s Pod 网络不通解决办法
    ------------------------------------------------------------------------
    vim /lib/systemd/system/docker.service
    # ExecStartPost=/sbin/iptables -P FORWARD ACCEPT
    ------------------------------------------------------------------------
    dunhanson
        11
    dunhanson  
    OP
       2020-08-14 11:05:42 +08:00
    如果在 pod 当中 ping www.baidu.com 不通( dns 域名解析,ip 可以),但是局域网的 pod 又可以互 ping 。
    可以重启 master 节点,或者重启 coredns (查看两个 coredns 日志是否正常输出)
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1142 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:40 · PVG 03:40 · LAX 12:40 · JFK 15:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.