解決docker安裝完成報(bào):bridge-nf-call-iptables is disabled問(wèn)題
centos機(jī)器 docker安裝完成后,輸入docker info命令,報(bào)如下警告信息解決方法:
1)警告信息如下:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
2)解決方法:
修改系統(tǒng)文件是的機(jī)器bridge模式開(kāi)啟
設(shè)置機(jī)器開(kāi)機(jī)啟動(dòng)的時(shí)候執(zhí)行下面兩條命令
編輯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需要增加執(zhí)行權(quán)限:
chmod +x /etc/rc,d/rc.local
3)重啟系統(tǒng)
補(bǔ)充知識(shí):重啟 Kubernetes Pod 的幾種方式
前言
在使用 docker 的過(guò)程中,我們可以使用docker restart {container_id}來(lái)重啟容器,但是在 kubernetes 中并沒(méi)有重啟命令(沒(méi)有 kubectl restart {podname}),有時(shí)候我們的 Pod 出現(xiàn) Bug 意外終止,導(dǎo)致我們需要重啟 Pod ,卻沒(méi)有一個(gè)很好的方式,特別是沒(méi)有 yaml 文件的情況下,所以我總結(jié)了以下幾種重啟 Pod 的方式。
方法 1
有最新的 yaml 文件。
在有 yaml 文件的情況下可以直接使用kubectl replace --force -f xxxx.yaml 來(lái)強(qiáng)制替換 Pod 的 API 對(duì)象,從而達(dá)到重啟的目的。如下:
[root@test-129-70 viua]# kubectl replace --force -f viua.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/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 service/viua-skills-service replaced deployment.apps/viua-skills-service replaced
方法 2
沒(méi)有 yaml 文件,但是使用的是 Deployment 對(duì)象。
kubectl scale deploy viua-app-cms --replicas=0 -n viua
kubectl scale deploy {deploy對(duì)象} --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 對(duì)象并不是直接操控的 Pod 對(duì)象,而是操控的 ReplicaSet 對(duì)象,而 ReplicaSet 對(duì)象就是由副本的數(shù)目的定義和 Pod 模板組成的。所以這條命令分別是將 ReplicaSet 的數(shù)量 scale 到 0,然后又 scale 到 1,那么 Pod 也就重啟了。
方法 3
同樣沒(méi)有 yaml 文件,但是使用的是 Deployment 對(duì)象。
使用命令kubectl delete pod {podname} -n {namespace}
這個(gè)方法就很簡(jiǎn)單粗暴了,直接把 Pod 刪除,因?yàn)?Kubernetes 是聲明式 API,所以刪掉了之后,Pod API 對(duì)象就與預(yù)期的不一致了,所以會(huì)自動(dòng)重新創(chuàng)建 Pod 保持與預(yù)期一致,但是如果 ReplicaSet 管理的 Pod 對(duì)象很多的話(huà),那么要一個(gè)個(gè)手動(dòng)刪除,會(huì)很麻煩,所以可以使用kubectl delete replicaset {rs_name} -n {namespace}命令來(lái)刪除 ReplicaSet
方法 4
沒(méi)有 yaml 文件,直接使用的 Pod 對(duì)象。
使用命令kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -
在這種情況下,由于沒(méi)有 yaml 文件,且啟動(dòng)的是 Pod 對(duì)象,那么是無(wú)法直接刪除或者 scale 到 0 的,但可以通過(guò)上面這條命令重啟。這條命令的意思是 get 當(dāng)前運(yùn)行的 pod 的 yaml 聲明,并管道重定向輸出到 kubectl replace命令的標(biāo)準(zhǔn)輸入,從而達(dá)到重啟的目的。
總結(jié)
我們可以通過(guò)多種方式來(lái)重啟對(duì)象,總的來(lái)說(shuō),最推薦的方式是使用kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -這種方式,因?yàn)檫m用于多種對(duì)象。此外,重啟 Pod 并不會(huì)修復(fù)運(yùn)行程序的 bug,想要解決程序的意外終止,最終還是得要修復(fù) bug。
以上這篇解決docker安裝完成報(bào):bridge-nf-call-iptables is disabled問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- docker的iptables策略詳解和用戶(hù)自定義策略的添加方式
- Docker iptables的錯(cuò)誤解決
- docker的WARNING:bridge-nf-call-iptables is disabled的解決方案
- iptables使用及docker的iptables規(guī)則
- Docker與iptables及實(shí)現(xiàn)bridge方式網(wǎng)絡(luò)隔離與通信操作
- Docker中iptables規(guī)則在iptables重啟后丟失的完整過(guò)程
- 詳解Docker使用Linux iptables 和 Interfaces管理容器網(wǎng)絡(luò)
- 在Docker容器中使用iptables時(shí)的最小權(quán)限的開(kāi)啟方法
- iptables如何限制宿主機(jī)跟Docker IP和端口訪(fǎng)問(wèn)(安全整改)
相關(guān)文章
docker images,info,-d等命令報(bào)錯(cuò)的解決方法
最近剛接觸Docker,所以在學(xué)習(xí)的過(guò)程中出現(xiàn)了好多的問(wèn)題,百度上不好找,谷歌的話(huà),樓主不會(huì)翻墻。后來(lái)通過(guò)各方求助和細(xì)心研究解決了一些遇到的問(wèn)題,現(xiàn)在將遇到的問(wèn)題和解決方法分享給大家,有需要的朋友們可以參考借鑒。2016-11-11如何在Docker容器內(nèi)外互相拷貝數(shù)據(jù)
本篇文章主要介紹了如何在Docker容器內(nèi)外互相拷貝數(shù)據(jù),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12docker搭建jenkins+maven代碼構(gòu)建部署平臺(tái)
本文主要介紹了docker搭建jenkins+maven代碼構(gòu)建部署平臺(tái),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06Docker-client for python詳解及簡(jiǎn)單示例
這篇文章主要介紹了Docker-client for python詳解及簡(jiǎn)單示例的相關(guān)資料,需要的朋友可以參考下2017-04-04docker中Dockerfile方式建立鏡像HelloWorld
這篇文章主要介紹了docker中Dockerfile方式建立鏡像HelloWorld,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: 
這篇文章主要介紹了Docker鏡像拉取報(bào)錯(cuò):Error response from daemon: Get https://registry-1.docker.io/v2/的問(wèn)題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07