Kubernetes YAMLファイルの使用

Kubernetes YAMLファイルの使用

01 YAMLファイルの概要

K8S が Pod を起動するとき、YAML ファイルを使用して起動します。今日は、最も一般的に使用される YAML ファイルの形式について説明します。

YAML の構文は JSON の構文と非常に似ています。どちらもキーと値の形式で編成されています。リストや辞書などの一般的なデータ型を表すことができます。サフィックスは通常「.yml」です。次の特徴があります。

1. 大文字と小文字の区別

2. インデントを使用して進行関係を示す

3. インデントにはタブは使用できず、スペースのみ使用できます。

4. インデントのスペースの数は重要ではありません。同じレベルの要素が左に揃っている限り、これはPythonの構文に似ています。

5. コメントを示すには「#」を使用します

6. キー値構造は {} で囲まれ、リスト構造は [] で囲まれます。

YAML---キー値型

a. キー:値の形式を使用して表現します。キーと値の間にはスペースが必要です。スペースがない場合はエラーが報告されます。

b. 階層関係がある場合、次の 2 つの方法で表現できます。

キー:{キー1: 値1,キー2: 値1}

またはキー:
    キー1:値1
    キー2:値2

c. キーと値の形式を表します。値は辞書です。

ウェブサイト:
  ヤム: yaml.org
   ルビー: ruby​​-lang.org
   python: python.org
   Perl: use.perl.org

json形式で表現:
  ウェブサイト:
    YAML: 'yaml.org',
    ルビー: 'ruby-lang.org',
    Python: 'python.org',
    Perl: 'use.perl.org'
   }

YAML---リスト型

- で始まる部分は、次のように配列を示します。

- あ
- ば
- こ

配列として表される: [A,B,C]

もう少し複雑な例を次に示します。

学生:
    -
        id: 1
        名前: 張三
        年齢: 12
    -
        id: 2
        名前: リシ
        年齢: 15

配列として表されます:
生徒:[{id: 1,名前: zhangsan,年齢: 12},{id: 2,名前: lisi,年齢: 15}]

配列内の要素もキーと値の構造の辞書です。

Json と Yaml の比較:

yaml 形式のファイル ノード:
  - 名前: jobE
    タイプ: コマンド
    設定:
      コマンド: echo "これはジョブ E です"
    依存:
       -ジョブD

  - 名前: jobD
    タイプ: コマンド
    設定:
      コマンド: echo "これはジョブ D です"
    依存:
      -ジョブA
      -ジョブB
      -ジョブC


json形式で表現:
{
    「ノード」:[
        {
            "名前":"ジョブE",
            "タイプ":"コマンド",
            「設定」:{
                "command":"echo \"これはジョブ E です\""
            },
            "依存":[
                「ジョブD」
            ]
        },
        {
            "名前":"ジョブD",
            "タイプ":"コマンド",
            「設定」:{
                "command":"echo \"これはジョブ D です\""
            },
            "依存":[
                「ジョブA」、
                「ジョブB」、
                「ジョブC」
            ]
        }
    ]
}

02 K8Sにおけるマスター、ノード、ポッドの関係

マスターアーキテクチャ図:

で:

API サーバーは HTTP REST インターフェイスを提供します。これは、k8s 内のすべてのリソースを追加、削除、変更、およびチェックするための唯一のエントリ ポイントであり、クラスター制御のエントリ ポイントでもあります。

スケジューラは、リソースのスケジュール設定を担当するプロセスです。

コントローラ マネージャーは、すべてのリソース オブジェクトの自動化制御センターです。

Etcdはリソースオブジェクトのデータストレージサービスを提供します

K8S は、マスター ノードとノード ノードのデプロイメント方式を使用してクラスター全体を管理します。マスター ノード、ノード ノード、および Pod の関係は、公式の構造図でより適切に説明されています。

ご覧のとおり、マスターとノードの間には直接通信のやり取りのプロセスがあり、ポッドはノード上にデプロイされます。簡単に言うと、次のようになります。

マスターは固定IPアドレスを持つサーバーです

ノードは固定IPアドレスを持つサーバーです

Pod はノード上のプロセスであり、仮想 IP アドレスを持ちます。この IP アドレスはノード IP アドレスと同じ場合も異なる場合もあります。

ご存知のとおり、Pod には複数のコンテナを含めることができます。コンテナをさらに追加すると、次のようになります。

それらの間の呼び出し関係は単純です:

Pod が作成されると、その情報がマスターの Etcd ストレージに格納されます。次に、Pod の作成に関する情報が K8S によってノードにスケジュールされ、バインドされます。次に、Pod が配置されているノード上の kubelet プロセスが、関連する Docker コンテナのグループにインスタンス化され、起動されます。

上記は、kubernetes YAML ファイルの使用に関する詳細な内容です。kubernetes YAML ファイルの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Kubernetes 環境に単一ノードの Redis データベースをデプロイする方法
  • クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明
  • client-go ツールを使用して kubernetes API インターフェースを呼び出す詳細なチュートリアル (v1.17 バージョン)
  • Kubernetes プローブの紹介

<<:  未来志向の総合的なウェブデザイン:プログレッシブエンハンスメント

>>:  Vueのwatch、computed、methodsの違いのまとめ

推薦する

MySQL のデッドロック チェックとデッドロック除去の例の詳細な説明

1. クエリプロセスプロセスリストを表示2. 対応するプロセスを照会し、IDを強制終了します。検証(...

WeChatアプレットリクエストの前処理方法の詳細な説明

質問一部のページでは、onload でデータを要求してからビューをレンダリングするため、ミニプログラ...

MySQL 5.7.20 無料インストールバージョンの設定方法グラフィックチュートリアル

インターネット上で多くの関連チュートリアルを見てきましたが、インストール プロセスにはまだいくつかの...

CSS の境界線を通して三角形と矢印を実装するサンプルコード

1. CSS ボックスモデルボックスには、余白、境界線、パディング、コンテンツが含まれます境界線の接...

Dockerデータストレージのバインドマウントの詳細な説明

この記事を読む前に、Volumes について予備知識を身に付けておいてください。詳細については、こち...

Vue3でelement-plusを使用する方法の詳細な説明

目次1. インストール2. main.jsにインポートする3. 使用Vue3がリリースされてからしば...

MySQL の count 関数の正しい使い方の詳細な説明

1. 説明MySQLでは、テーブル内の行の総数を取得する必要がある場合、通常は次の文を使用します。 ...

ゲーム着物メモ問題の簡単な分析

本日、ゲームを再起動した後、バックアップしたデータをターゲットデータベースにインポートできないことが...

ウェブページコンテンツの閲覧設計手法に関する議論

<br />コンテンツ ページの記事の場合、記事が長すぎる場合やカテゴリ (ランキング)...

Apache Spark 2.0ジョブは完了するまでに長い時間がかかります

現象Apache Spark 2.x を使用すると、Spark ジョブがすべて完了しているにもかかわ...

iptables の再起動後に Docker の iptables ルールの完全なプロセスが失われる

原因と結果1. ansibleコマンドを使用してジャンプサーバー上のマシンBをテストすると、次のエラ...

訪問者にあなたのウェブサイトを覚えてもらうための3つの便利なコード

訪問者があなたのウェブサイトを覚えておくのに役立つ3つの便利なコード。お気に入りに追加するためのヒン...

ミニプログラムは左スライドのドロワーメニューをネイティブに実装します

目次WXS レスポンス イベントプランAページ構造とスタイルWXS イベントコールバック関数WXS ...

Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

本番環境におけるコンテナの稼働状況を監視することは非常に重要です。監視を通じて、コンテナの稼働状況を...

MLSQLコンパイル時権限制御例の詳細な説明

序文MySQL の権限を簡単に理解すると、MySQL では自分の能力の範囲内で操作が許可され、その限...