docker のインストールが完了し、bridge-nf-call-iptables が無効であると報告される問題を解決します

docker のインストールが完了し、bridge-nf-call-iptables が無効であると報告される問題を解決します

Centos マシンで docker のインストールが完了したら、docker info コマンドを入力すると、次の警告情報が報告されます。

1) 警告メッセージは次のとおりです。

警告: bridge-nf-call-iptables が無効になっています

警告: bridge-nf-call-ip6tables が無効になっています

2) 解決策:

システムファイルを変更してマシンブリッジモードを有効にする

起動時に次の2つのコマンドを実行するように設定します

vim /etc/rc.d/rc.localを編集し、次の2つのコマンドを追加します。

エコー 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

エコー 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables

CentOS 7 では実行権限を増やす必要があります:

chmod +x /etc/rc,d/rc.local

3) システムを再起動する

追加知識: Kubernetes Pod を再起動するいくつかの方法

序文

docker を使用する場合、docker restart {container_id} を使用してコンテナを再起動できますが、kubernetes には再起動コマンドがありません (kubectl restart {podname} はありません)。バグにより Pod が予期せず終了し、Pod を再起動する必要が生じることがありますが、特に yaml ファイルがない場合、良い方法がないため、Pod を再起動する方法を以下にまとめました。

方法1

最新のyamlファイルがあります。

yaml ファイルがある場合は、 kubectl replace --force -f xxxx.yaml を直接使用して、Pod の API オブジェクトの置き換えを強制し、再起動の目的を達成できます。次のように:

[root@test-129-70 viua]# kubectl replace --force -f viua.yml
名前空間「viua」が削除されました
サービス「viua-app-cms」が削除されました
デプロイメント アプリ「viua-app-cms」が削除されました
サービス「viua-app-command」が削除されました
デプロイメント.apps「viua-app-command」が削除されました
サービス「viua-show-service」が削除されました
デプロイメント アプリ「viua-show-service」が削除されました
サービス「viua-skills-service」が削除されました
デプロイメントアプリ「viua-skills-service」が削除されました
名前空間/viua が置き換えられました
secret/xa-harbor-ca が置き換えられました
service/viua-app-cms が置き換えられました
deploy.apps/viua-app-cms が置き換えられました
service/viua-app-command が置き換えられました
deploy.apps/viua-app-command が置き換えられました
サービス/viua-show-service が置き換えられました
deploy.apps/viua-show-service が置き換えられました
service/viua-skills-service が置き換えられました
deploy.apps/viua-skills-service が置き換えられました

方法2

yaml ファイルはありませんが、Deployment オブジェクトが使用されます。

kubectlスケールデプロイviua-app-cms --replicas=0 -n viua

kubectl scale deploy {オブジェクトをデプロイ} --replicas=0 -n {名前空間}

[root@test-129-70 pvd]# kubectl get deploy -n viua
名前 準備完了 最新 利用可能 年齢
viua-app-cms 1/1 1 1 48分
viuaアプリコマンド 1/1 1 1 48分
viua-ショーサービス 1/1 1 1 48m
viua-スキルサービス 1/1 1 1 48m
[root@test-129-70 pvd]# kubectl scale deploy viua-app-cms --replicas=0 -n viua
展開.apps/viua-app-cms スケール
[root@test-129-70 pvd]# kubectl get deploy -n viua
名前 準備完了 最新 利用可能 年齢
viua-app-cms 0/0 0 0 49分
viuaアプリコマンド 1/1 1 1 49分
viua-ショーサービス 1/1 1 1 49m
viua-スキルサービス 1/1 1 1 49m
[root@test-129-70 pvd]# kubectl get po -n viua
名前 準備完了 ステータス 再起動 年齢
viua-app-command-95f7b6f7f-rb7mh 1/1 実行中 0 49分
viua-show-service-85565b9dcf-ss8qp 1/1 実行中 0 49m
viua-skills-service-65447f9b94-fhqhr 1/1 実行中 0 49m

Deployment オブジェクトは Pod オブジェクトを直接制御するのではなく、ReplicaSet オブジェクトを制御し、ReplicaSet オブジェクトはレプリカ数の定義と Pod テンプレートから構成されるためです。したがって、このコマンドは、ReplicaSet の数を 0 にスケールし、その後 1 に戻して、Pod を再起動します。

方法3

yaml ファイルもありませんが、Deployment オブジェクトが使用されます。

kubectl delete pod {podname} -n {namespace}コマンドを使用します。

この方法は非常に単純で大雑把です。Pod を削除するだけです。Kubernetes は宣言型 API なので、削除後は Pod API オブジェクトが期待したものと不整合になるため、期待したものと整合するように Pod が自動的に再作成されます。ただし、ReplicaSet で管理されている Pod オブジェクトが多数ある場合、手動で 1 つずつ削除するのは面倒です。そのため、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 オブジェクトが起動しているため、直接削除したり 0 にスケールしたりすることはできませんが、上記のコマンドを使用して再起動することはできます。このコマンドは、現在実行中のポッドの YAML 宣言を取得し、その出力を kubectl replace コマンドの標準入力にリダイレクトして、再起動の目的を達成することを意味します。

要約する

オブジェクトを再起動する方法は多数あります。一般的に、多くのオブジェクトに適用できるため、最も推奨される方法は kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f - を使用することです。また、Pod を再起動しても実行中のプログラムのバグは修正されません。プログラムの予期しない終了を解決したい場合は、最終的にはバグを修正する必要があります。

上記のdockerインストール完了報告の問題を解決する記事:bridge-nf-call-iptablesが無効ですは、編集者があなたと共有した内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • DockerにRedisをインストールし、設定ファイルとして起動する詳細な説明
  • Docker インストール rocketMQ チュートリアル (最も詳細)
  • DockerでRedashの中国語版をデプロイしてインストールする方法の詳細な説明
  • 5分でDockerをインストールする詳細な手順

<<:  IDEAでVUEプロジェクトをデバッグするための詳細な手順

>>:  ウェブデザインにおけるテキスト入力ボックスのパラメータの説明

推薦する

nginx で同時接続リクエストの数を制限する方法

導入同時接続数を制限するモジュールは http_limit_conn_module です。アドレス:...

ElasticSearch と ElasticSearch-Head の Docker デプロイメントの実装

この記事では主にDockerを使ってElasticSearch:バージョン6.8.4をデプロイする方...

dockerでopenGaussデータベースを構成する方法の詳細な説明

Windowsユーザー向けDocker で openGauss を使用するopenGaussイメージ...

Linux デバイス用ネットワーク ドライバーの紹介

有線ネットワーク: イーサネット 無線ネットワーク: 4G、WiFi、Bluetooth、5G 概要...

JavaScript関数におけるこのポイントの問題の詳細な説明

このキーワードどのオブジェクトが関数を呼び出しますか? また、関数内の this はどのオブジェクト...

ウィンドウ表示効果を実現するJavaScript

この記事では、ウィンドウ表示効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Windows Server 2016 に MySQL 5.7.19 の解凍バージョンをインストールするための詳細なチュートリアル

MySQL 5.7.19 winx64 解凍版のインストールチュートリアルを収録しています。具体的な...

位置のいくつかの巧妙な応用の詳細な説明:sticky スティッキーポジショニング

背景: position:sticky はスティッキー配置とも呼ばれます。スティッキー配置の要素は、...

Vue の better-scroll コンポーネントを使用して水平スクロール機能を実現する

について最近、Vue を学習する過程で、基本的な知識の練習と強化を目的として、Qunar.com の...

Mysql Workbench クエリ mysql データベース メソッド

Mysql Workbench はオープンソースのデータベース クライアントです。このオープンソース...

MySQL タイムブラインドインジェクションの 5 つの遅延方法

MySQL タイム ブラインド インジェクションの 5 つの遅延方法 (PWNHUB の予期しない解...

さまざまなブラウザに対応するためにCSSで指定フォント@font-faceを導入する際の問題

Web ページを作成するときに、特定のフォントを使用したい場合は、 @font-faceを介して参照...

CSS3で実装されたテキストポップアップ効果

成果を達成する実装コードhtml <div>123WORDPRESS.COM</d...

React antdはフォームの動的な増減を実現します

以前、動的フォームを記述しているときに落とし穴に遭遇しました。インデックスの添え字をキーとして使用す...