k8s 集群采用二进制安装,cni网络插件用calico通讯
问题描述:
发现有些pod不是很正常例如: ht13.node

正常系统采样

[root@ht6 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@ht6 ~]# uname -r
3.10.0-1160.42.2.el7.x86_64

[root@ht6 ~]# docker ps | grep calico
3c5a2fe1f2d3 9f355e076ea7 "/install-cni.sh" 3 months ago Up 3 months k8s_install-cni_calico-node-rfns5_kube-system_7e3f2319-1c3d-11ec-9a8a-065c62000e9f_1
735699701a90 k8s.gcr.io/pause-amd64:3.0 "/pause" 3 months ago Up 3 months k8s_POD_calico-node-rfns5_kube-system_7e3f2319-1c3d-11ec-9a8a-065c62000e9f_1
24db12a21b59 quay.io/calico/node:v3.1.0 "start_runit" 3 months ago Up 3 months calico-node

//ipip模式采样

[root@ht6 ~]# ifconfig tunl0
tunl0: flags=193<UP,RUNNING,NOARP> mtu 1440
inet 172.17.244.192 netmask 255.255.255.255
tunnel txqueuelen 1000 (IPIP Tunnel)
RX packets 37971826 bytes 12993721945 (12.1 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 41952855 bytes 5357352541 (4.9 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

在master上查看,貌似正常 ht13.node

[root@master-web-38 ~]# kubectl get pod -n kube-system -o wide | grep calico

calico-node-rfns5 1/1 Running 1 148d 10.121.55.131 ht6.node

calico-node-wfvd6 1/1 Running 0 81d 10.121.52.193 ht13.node

node节点异常系统采样

[root@ht13 calico]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@ht13 calico]# uname -r
3.10.0-327.el7.x86_64

[root@ht13 ~]# docker images | grep calico
quay.io/calico/cni v3.1.3 9f355e076ea7 3 years ago 68.8MB
quay.io/calico/node v3.1.0 ad8d84fa5f8c 3 years ago 277MB
//关注这里,因为,我们看到calico-node 没有创建起来

重新创建calico

[root@ht13 calico]# ll
total 392880
drwxr-xr-x 2 root root 4096 Nov 28 18:51 calico
-rw-r--r-- 1 root root 11829 Nov 28 18:51 calico.example.yaml
-rw-r--r-- 1 root root 2483 Nov 29 19:37 calico-node.service.sh
-rw-r--r-- 1 root root 277872640 Nov 28 18:51 caliconode.v3.1.0.tar
-rw-r--r-- 1 root root 1081 Nov 28 18:51 calico.sh
-rw-r--r-- 1 root root 19389 Nov 28 18:51 calico.yaml
-rw-r--r-- 1 root root 69124608 Nov 28 18:51 cni.v3.1.3.tar
-rw-r--r-- 1 root root 55256576 Nov 28 18:51 kube-controllers.v3.1.3.tar
-rw-r--r-- 1 root root 1247 Nov 28 18:51 rbac.yaml

//执行重新创建calico-node
[root@ht13 calico]# sh calico-node.service.sh
//查看calico
[root@ht13 calico]# docker ps | grep calico

 

[root@ht13 calico]# vi calico-node.service.sh

K8S_MASTER_IP="10.121.52.193"
HOSTNAME='ht13.node'
#HOSTNAME=`cat /etc/hostname`
ETCD_ENDPOINTS="https://10.121.52.111"  //这个是master

cat > /lib/systemd/system/calico-node.service <<EOF
[Unit]
Description=calico node
After=docker.service
Requires=docker.service

[Service]
User=root
Environment=ETCD_ENDPOINTS=${ETCD_ENDPOINTS}
PermissionsStartOnly=true
ExecStart=/usr/bin/docker run --net=host --privileged --name=calico-node \\
-e ETCD_ENDPOINTS=\${ETCD_ENDPOINTS} \\
-e ETCD_CA_CERT_FILE=/etc/etcd/ssl/etcd-root-ca.pem \\
-e ETCD_CERT_FILE=/etc/etcd/ssl/etcd.pem \\
-e ETCD_KEY_FILE=/etc/etcd/ssl/etcd-key.pem \\
-e NODENAME=${HOSTNAME} \\
-e IP= \\
-e IP_AUTODETECTION_METHOD=can-reach=${K8S_MASTER_IP} \\
-e AS=64512 \\
-e CLUSTER_TYPE=k8s,bgp \\
-e CALICO_IPV4POOL_CIDR=172.17.0.0/16 \\
-e CALICO_IPV4POOL_IPIP=always \\

-e CALICO_LIBNETWORK_ENABLED=true \\
-e CALICO_NETWORKING_BACKEND=bird \\
-e CALICO_DISABLE_FILE_LOGGING=true \\
-e FELIX_IPV6SUPPORT=false \\
-e FELIX_DEFAULTENDPOINTTOHOSTACTION=ACCEPT \\
-e FELIX_LOGSEVERITYSCREEN=info \\
-e FELIX_IPINIPMTU=1440 \\
-e FELIX_HEALTHENABLED=true \\
-e CALICO_K8S_NODE_REF=${HOSTNAME} \\
-v /etc/calico/etcd-root-ca.pem:/etc/etcd/ssl/etcd-root-ca.pem \\
-v /etc/calico/etcd.pem:/etc/etcd/ssl/etcd.pem \\
-v /etc/calico/etcd-key.pem:/etc/etcd/ssl/etcd-key.pem \\
-v /lib/modules:/lib/modules \\
-v /var/lib/calico:/var/lib/calico \\
-v /var/run/calico:/var/run/calico \\
quay.io/calico/node:v3.1.0
ExecStop=/usr/bin/docker rm -f calico-node
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

//现在尝试把一个pod在该node节点上重建
1、把该节点设置为可调度(通过rancher,rancher这方面调度非常方便)
2、把一个pod重新创建在该node上

解决一次calico异常情况,pod之间访问pod ip不通的更多相关文章

  1. 解决oracle 端口 1521 本机127可通 其他ip不通

    http://wenku.baidu.com/link?url=8tRGGObqgLd6-yqprioIZSyluu9K0BgA29Lhx7F57pVDIHbMHVDNTa_SlEmVugGT4QJO ...

  2. Git异常情况汇总

    本篇博客总结下Git使用情况中遇到的异常情况并给出解决方案,关于Git的常用命令请移步我的另一篇博客<Git常用命令> 异常情况如下: 1.git远程删除分支后,本地git branch ...

  3. axios对请求各种异常情况处理的封装

    前端网络请求封装 前端采用了axios来处理网络请求,为了避免在每次请求时都去判断各种各样的网络情况,比如连接超时.服务器内部错误.权限不足等等不一而足,我对axios进行了简单的封装,这里主要使用了 ...

  4. Java项目中经常遇到的一些异常情况

    一. 1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存 ...

  5. 如何解决结果由block返回情况下的同步问题(转)

    开发中经常会遇到一种简单的同步问题: 系统在获取资源时,采用了block写法,外部逻辑需要的结果是在block回调中返回的 举个例子: 请求获取通讯录权限的系统弹窗 调用系统方法请求通讯录权限: AB ...

  6. 解决C#导出excel异常来自 HRESULT:0x800A03EC的方法 .

    解决C#导出excel异常来自 HRESULT:0x800A03EC的方法 .   xlBook.SaveAs(FilePath,Microsoft.Office.Interop.Excel.XlFi ...

  7. 异常情况下的Activity生命周期分析

    情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, ...

  8. python3 selenium 如何处理异常情况

    使用场景: 1.元素只有在某一特定情况下才会出现 2.元素定位不到 使用方法: try: except exceptions.NoSuchElementException: 举例说明: # _._ c ...

  9. mysql进阶(二十)CPU超负荷异常情况

    CPU超负荷异常情况 问题 项目部署阶段,提交订单时总是出现cpu超负荷工作情况,导致机器卡死,订单提交失败.通过任务管理器可见下图所示: 通过任务管理器中进程信息(见下图)进行查看,可见正是由于项目 ...

随机推荐

  1. LOJ6485题解

    应该是经典题之一了. \[[n|k]=\frac 1 n\sum_{i=0}^{n-1}w_n^{ik} \] 有这个就可以算了. \[\sum_{i=0}^n\binom n i x^ia_{i \ ...

  2. VBS文件无限循环解决办法

    VBS文件无限循环解决办法,也就相当于编程中的停止运行指令. 那么如何关掉VBS文件呢?当然关机后会自动关掉,还有另外一种方法就是,在"任务管理器"中找到进程"WScri ...

  3. C#编程基础之字符串操作

    本文来源于复习基础知识的学习笔记.自用的同时希望也能帮到其他童鞋. 什么是编程语言? 计算机可以执行的指令.这些指令成为源代码或者代码 有什么用? 以人们可读可理解的方式编写指令.人们希望计算机执行指 ...

  4. 使用Resource文件实现应用程序多语言

    写在前面: 1.创建资源文件 资源文件命名规则为:文件名(自定义)+cultrueInfo.Name+.resx后缀名 如:A.en-US.resx A.zh-CN.resx 这样命名应用程序代码会根 ...

  5. ZYNQ生成一个工程的基本步骤

    Zynq 7000 SoC 是业界首款All Programmable SoC 组成: PL(FPGA部分) PS(ARM部分) PL和PS数据传输的 高效接口:AXI和ACP PS: 处理系统(Pr ...

  6. 5月11日 python学习总结 子查询、pymysql模块增删改查、防止sql注入问题

    一.子查询 子查询:把一个查询语句用括号括起来,当做另外一条查询语句的条件去用,称为子查询 select emp.name from emp inner join dep on emp.dep_id ...

  7. swap分区扩展的三种方法

    redhat linux swap分区扩展的三种方法 2016-12-26 11:41:08 分类: LINUX 原文地址:redhat linux swap分区扩展的三种方法 作者:quanshen ...

  8. HTTP 错误 500.21 - Internal Server Error 解决方案【转】

    HTTP 错误 500.21 - Internal Server Error 解决方案:  今天在测试网站的时候,在浏览器中输入http://localhost/时,发生如下错误: HTTP Erro ...

  9. Vue基于webpack自动装载配置

    Vue的自动装载配置是在 @cli/cli-service 包中,配置文件的目录在 lib/config/  下的文件,css.js 文件是配置样式的处理,先从这里开始了解把 CSS配置流程 对应着这 ...

  10. 说说for循环的两种写法

    for循环 执行多次,条件写在()里,语法形式: 1 2 3 for(计数器变量;条件;计数器增减){ // 将要执行的代码 } 示例: 1 2 3 for (int i = 0; i < 5; ...