解决docker安装完成报:bridge-nf-call-
iptablesisdisabled问题
centos机器 docker安装完成后,输⼊docker info命令,报如下警告信息解决⽅法:
1)警告信息如下:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
2)解决⽅法:
修改系统⽂件是的机器bridge模式开启
设置机器开机启动的时候执⾏下⾯两条命令
编辑vim /etc/rc.d/rc.local添加下⾯两条命令
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables
centos7需要增加执⾏权限:
chmod +x /etc/rc,d/rc.local
3)重启系统
补充知识:重启 Kubernetes Pod 的⼏种⽅式
前⾔
在使⽤ docker 的过程中,我们可以使⽤docker restart {container_id}来重启容器,但是在 kubernetes 中并没有重启命令(没有 kubectl restart {podname}),有时候我们的 Pod 出现 Bug 意外终⽌,导致我们需要重启 Pod ,却没有⼀个很好的⽅式,特别是没有 yaml ⽂件的情况下,所以我总结了以下⼏种重启 Pod 的⽅式。
⽅法 1
有最新的 yaml ⽂件。
在有 yaml ⽂件的情况下可以直接使⽤kubectl replace --force -f xxxx.yaml 来强制替换 Pod 的 API 对象,从⽽达到重启的⽬的。如下:
[root@test-129-70 viua]# kubectl replace --force -l
namespace "viua" deleted
service "viua-app-cms" deleted
deployment.apps "viua-app-cms" deleted
service "viua-app-command" deleted
deployment.apps "viua-app-command" deleted
service "viua-show-service" deleted
deployment.apps "viua-show-service" deleted
service "viua-skills-service" deleted
deployment.apps "viua-skills-service" deleted
namespace/viua replaced
secret/xa-harbor-ca replaced
service/viua-app-cms replaced
deployment.apps/viua-app-cms replaced
service/viua-app-command replaced
deployment.apps/viua-app-command replaced
service/viua-show-service replaced
deployment.apps/viua-show-service replaced
docker重启容器命令
service/viua-skills-service replaced
deployment.apps/viua-skills-service replaced
⽅法 2
没有 yaml ⽂件,但是使⽤的是 Deployment 对象。
kubectl scale deploy viua-app-cms --replicas=0 -n viua
kubectl scale deploy {deploy对象} --replicas=0 -n {namespace}
[root@test-129-70 pvd]# kubectl get deploy -n viua
NAME    READY UP-TO-DATE AVAILABLE AGE
viua-app-cms  1/1  1  1  48m
viua-app-command  1/1  1  1  48m
viua-show-service  1/1  1  1  48m
viua-skills-service 1/1  1  1  48m
[root@test-129-70 pvd]# kubectl scale deploy viua-app-cms --replicas=0 -n viua
deployment.apps/viua-app-cms scaled
[root@test-129-70 pvd]# kubectl get deploy -n viua
NAME    READY UP-TO-DATE AVAILABLE AGE
viua-app-cms  0/0  0  0  49m
viua-app-command  1/1  1  1  49m
viua-show-service  1/1  1  1  49m
viua-skills-service 1/1  1  1  49m
[root@test-129-70 pvd]# kubectl get po -n viua
NAME        READY STATUS RESTARTS AGE
viua-app-command-95f7b6f7f-rb7mh  1/1  Running 0  49m
viua-show-service-85565b9dcf-ss8qp  1/1  Running 0  49m
viua-skills-service-65447f9b94-fhqhr 1/1  Running 0  49m
由于 Deployment 对象并不是直接操控的 Pod 对象,⽽是操控的 ReplicaSet 对象,⽽ ReplicaSet 对象就是由副本的数⽬的定义和 Pod 模板组成的。所以这条命令分别是将 ReplicaSet 的数量 scale 到 0,然后⼜ scale 到 1,那么 Pod 也就重启了。
⽅法 3
同样没有 yaml ⽂件,但是使⽤的是 Deployment 对象。
使⽤命令kubectl delete pod {podname} -n {namespace}
这个⽅法就很简单粗暴了,直接把 Pod 删除,因为 Kubernetes 是声明式 API,所以删掉了之后,Pod API 对象就与预期的不⼀致了,所以会⾃动重新创建 Pod 保持与预期⼀致,但是如果 ReplicaSet 管理的 Pod 对象很多的话,那么要⼀个个⼿动删除,会很⿇烦,所以可以使⽤kubectl delete replicaset {rs_name} -n {namespace}命令来删除 ReplicaSet
⽅法 4
没有 yaml ⽂件,直接使⽤的 Pod 对象。
使⽤命令kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -
在这种情况下,由于没有 yaml ⽂件,且启动的是 Pod 对象,那么是⽆法直接删除或者 scale 到 0 的,但可以通过上⾯这条命令重启。这条命令的意思是 get 当前运⾏的 pod 的 yaml 声明,并管道重定向输出到 kubectl replace命令的标准输⼊,从⽽达到重启的⽬的。
总结
我们可以通过多种⽅式来重启对象,总的来说,最推荐的⽅式是使⽤kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -这种⽅式,因为适⽤于多种对象。此外,重启 Pod 并不会修复运⾏程序的 bug,想要解决程序的意外终⽌,最终还是得要修复 bug。
以上这篇解决docker安装完成报:bridge-nf-call-iptables is disabled问题就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。