解决docker安装完成报:bridge-nf-call-iptables is disabled问题
centos机器docker安装完成后,输入dockerinfo命令,报如下警告信息解决方法:
1)警告信息如下:
WARNING:bridge-nf-call-iptablesisdisabled
WARNING:bridge-nf-call-ip6tablesisdisabled
2)解决方法:
修改系统文件是的机器bridge模式开启
设置机器开机启动的时候执行下面两条命令
编辑vim/etc/rc.d/rc.local添加下面两条命令
echo1>/proc/sys/net/bridge/bridge-nf-call-iptables
echo1>/proc/sys/net/bridge/bridge-nf-call-ip6tables
centos7需要增加执行权限:
chmod+x/etc/rc,d/rc.local
3)重启系统
补充知识:重启KubernetesPod的几种方式
前言
在使用docker的过程中,我们可以使用dockerrestart{container_id}来重启容器,但是在kubernetes中并没有重启命令(没有kubectlrestart{podname}),有时候我们的Pod出现Bug意外终止,导致我们需要重启Pod,却没有一个很好的方式,特别是没有yaml文件的情况下,所以我总结了以下几种重启Pod的方式。
方法1
有最新的yaml文件。
在有yaml文件的情况下可以直接使用kubectlreplace--force-fxxxx.yaml来强制替换Pod的API对象,从而达到重启的目的。如下:
[root@test-129-70viua]#kubectlreplace--force-fviua.yml 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/viuareplaced secret/xa-harbor-careplaced service/viua-app-cmsreplaced deployment.apps/viua-app-cmsreplaced service/viua-app-commandreplaced deployment.apps/viua-app-commandreplaced service/viua-show-servicereplaced deployment.apps/viua-show-servicereplaced service/viua-skills-servicereplaced deployment.apps/viua-skills-servicereplaced
方法2
没有yaml文件,但是使用的是Deployment对象。
kubectlscaledeployviua-app-cms--replicas=0-nviua
kubectlscaledeploy{deploy对象}--replicas=0-n{namespace}
[root@test-129-70pvd]#kubectlgetdeploy-nviua NAMEREADYUP-TO-DATEAVAILABLEAGE viua-app-cms1/11148m viua-app-command1/11148m viua-show-service1/11148m viua-skills-service1/11148m [root@test-129-70pvd]#kubectlscaledeployviua-app-cms--replicas=0-nviua deployment.apps/viua-app-cmsscaled [root@test-129-70pvd]#kubectlgetdeploy-nviua NAMEREADYUP-TO-DATEAVAILABLEAGE viua-app-cms0/00049m viua-app-command1/11149m viua-show-service1/11149m viua-skills-service1/11149m [root@test-129-70pvd]#kubectlgetpo-nviua NAMEREADYSTATUSRESTARTSAGE viua-app-command-95f7b6f7f-rb7mh1/1Running049m viua-show-service-85565b9dcf-ss8qp1/1Running049m viua-skills-service-65447f9b94-fhqhr1/1Running049m
由于Deployment对象并不是直接操控的Pod对象,而是操控的ReplicaSet对象,而ReplicaSet对象就是由副本的数目的定义和Pod模板组成的。所以这条命令分别是将ReplicaSet的数量scale到0,然后又scale到1,那么Pod也就重启了。
方法3
同样没有yaml文件,但是使用的是Deployment对象。
使用命令kubectldeletepod{podname}-n{namespace}
这个方法就很简单粗暴了,直接把Pod删除,因为Kubernetes是声明式API,所以删掉了之后,PodAPI对象就与预期的不一致了,所以会自动重新创建Pod保持与预期一致,但是如果ReplicaSet管理的Pod对象很多的话,那么要一个个手动删除,会很麻烦,所以可以使用kubectldeletereplicaset{rs_name}-n{namespace}命令来删除ReplicaSet
方法4
没有yaml文件,直接使用的Pod对象。
使用命令kubectlgetpod{podname}-n{namespace}-oyaml|kubectlreplace--force-f-
在这种情况下,由于没有yaml文件,且启动的是Pod对象,那么是无法直接删除或者scale到0的,但可以通过上面这条命令重启。这条命令的意思是get当前运行的pod的yaml声明,并管道重定向输出到kubectlreplace命令的标准输入,从而达到重启的目的。
总结
我们可以通过多种方式来重启对象,总的来说,最推荐的方式是使用kubectlgetpod{podname}-n{namespace}-oyaml|kubectlreplace--force-f-这种方式,因为适用于多种对象。此外,重启Pod并不会修复运行程序的bug,想要解决程序的意外终止,最终还是得要修复bug。
以上这篇解决docker安装完成报:bridge-nf-call-iptablesisdisabled问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。