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プロジェクトをデバッグするための詳細な手順

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

推薦する

MySql で SQL 実行プランをクエリするために explain を使用する方法

explain コマンドは、クエリ オプティマイザーがクエリの実行を決定した方法を確認する主な方法で...

HTML メタタグの使用の概要 (推奨)

メタタグ機能METAタグは、HTMLタグのHEAD領域にある重要なタグです。文書の文字セット、使用言...

vue の v-for ディレクティブはリストのレンダリングを完了します

目次1. リストの走査2. Vueにおけるキーの役割3. リストフィルタリングこの記事では、Vue ...

Centos7.5でのIPアドレス設定の実装

1. IPアドレスを設定する前に、まずifconfigを使用してネットワークカード情報を表示し、ネッ...

dockerコンテナにviコマンドをインストールする簡単な操作

docker コンテナを使用する場合、vim がインストールされていないことがあり、vim コマンド...

Windows 10 1903 エラー 0xc0000135 の解決方法 [推奨]

Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...

MySQL エラー コード 1064 の解決策

SQL ステートメント内の単語が mysql のキーワードと競合する場合は、`` (タブ キーの上)...

MySQL 制約の超詳細な説明

目次MySQL 制約操作1. 非ヌル制約2. ユニーク制約3. 主キー制約4. 外部キー制約5. カ...

HTML にオーディオファイルを挿入してブラウザで再生する場合の互換性の問題

HTML にオーディオ ファイルを挿入した後 (mp3 ファイルを再生した後) に発生したいくつかの...

ウェブページ作成における絶対パスと相対パスの違い

1. 絶対パスまず、ローカル コンピューターでは、ファイルの絶対パスは、当然、ハード ディスク上でフ...

HTML ベースタグ target=_parent の使用の紹介

<base> タグは、ページ上のすべてのリンクのデフォルトのアドレスまたはデフォルトのタ...

大規模な MySQL テーブルに対する count() の実装を最適化しました

以下は、B+ ツリーのデータ構造と実験結果からの推測に基づいた私の判断です。間違いがあればご指摘くだ...

CSS で縦書きテキスト配置を実装する方法 (概要)

HTML でのテキストのデフォルトの配置は水平ですが、特殊な場合にはテキストを垂直に配置する必要が...

Centos7 環境でバイナリ インストール パッケージから mysql5.6 をインストールする方法の詳細な説明

この記事では、centos7 環境でバイナリ インストール パッケージを使用して mysql5.6 ...

MySQLデータベース入門:マルチインスタンス構成方法の詳しい説明

目次1. マルチインスタンスとは2. 複数インスタンスのインストールの準備3. MYSQLの複数イン...