错误信息 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 范围?
1
dunhanson OP 除了修改 ip 范围的方式还有其它方法吗?
|
2
dunhanson OP 这里?
```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 # ``` |
3
dunhanson OP 换了 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: {} |
4
whileFalse 2020-07-30 07:42:28 +08:00
可能是整体就没起来。
我昨天遇到了相同的 bug,不过我是 microk8s,部署单主机集群(就一台机器,既是 master 也是 node )。已注册 node 为 0,某些系统服务起不来。 最终找到的原因是当前主机的 hostname 包含下划线,不是合法的 hostname,导致当前主机无法将自身注册为 node,从而导致一系列问题。 |
5
dunhanson OP @whileFalse 我 hostname 正常的,三台,分别是 basic 、master 、node1
难搞哦,有什么可以迅速定位问题在哪的? |
6
dunhanson OP help
|
7
dunhanson OP https://s1.ax1x.com/2020/07/30/anzg6f.png
etc controller work 都安装在一台,变成 cattle-cluster-agent-85d75fffdf-28sgv 老是重启了 |
8
dunhanson OP 好像可以了,我重新 clone 了符合 k8s 要求的虚拟机,然后创建 node1 、node2
node1 安装 rancher 、etc 、controller,node2 安装 worker ![aKiZ2d.png]( https://s1.ax1x.com/2020/07/30/aKiZ2d.png) 准备再观察一段时间看看 |
9
dunhanson OP 已找到解决办法,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 ------------------------------------------------------ |
10
dunhanson OP CentOS 8.2 原生安装 k8s Pod 网络不通解决办法
------------------------------------------------------------------------ vim /lib/systemd/system/docker.service # ExecStartPost=/sbin/iptables -P FORWARD ACCEPT ------------------------------------------------------------------------ |
11
dunhanson OP 如果在 pod 当中 ping www.baidu.com 不通( dns 域名解析,ip 可以),但是局域网的 pod 又可以互 ping 。
可以重启 master 节点,或者重启 coredns (查看两个 coredns 日志是否正常输出) |