詳細なYAMLファイル-リソースリスト
概要概要
k8sクラスターでのリソース管理とリソースオブジェクトの配置とデプロイは、ライフスタイル(YAML)ファイルを介して解決できます。つまり、リソースオブジェクトを操作する必要性をYAML形式のファイルに編集できます。このファイルをリソースリストファイル。kubectlコマンドは、リソースマニフェストファイルを直接使用して、多数のリソースオブジェクトを配置およびデプロイします。通常、開発するときは、yamlファイルを構成してクラスターをデプロイします。
YAMLファイル:リソースの配置に使用されるリソースリストファイル
YAMLファイルの紹介
YAMLの概要
YAML:はマークアップ言語です。この言語がマークアップ言語ではなくデータ中心であることを強調するために。
YAMLは、データシーケンスを表現するために使用される非常に読みやすい形式です。
YAMLの基本構文
インデントとしてスペースを使用します
。同じレベルの要素が左揃えである限り、インデントされたスペースの数は重要で
はありません。下位バージョンのインデントではTabキーは使用できません。スペースのみが許可されます。
コメントをマークするには#を使用します。この文字から行末まで。インタプリタによって無視されます。
使用—新しいyamlファイルの開始を示します。
YAMLでサポートされるデータ構造
オブジェクト
キーと値のペアのコレクション。マッピング/ハッシュ/辞書とも呼ばれ
ます。#オブジェクトタイプ:
名前を表すためにコロン構造を使用した、オブジェクトのキーと値のペアのセット:ベン
年齢:18
#yamlでは、すべてのキーと値のペアをインラインオブジェクト
ハッシュとして書き込む別の方法も使用できます:{名前:ベン、年齢:18}
アレイ
#Array type:配列を形成するための接続詞で始まる行のグループ
People
-Tom
-Jack
#Arrayはインライン表記を使用することもできます
People:[Tom、Jack]
YAMLファイルコンポーネント
主に2つの部分に分かれており、1つはコントローラーの定義であり、もう1つは制御対象です。
コントローラの定義
APIバージョン、コントローラータイプ
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: default
spec:
replicas: 3
selector:
matchLables:
app: nginx
制御対象
いくつかの画像、バージョン、ポートなどが含まれています。
template:
metadata:
lables:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
プロパティの説明
YAMLファイルのコントローラー定義には、多くの属性名があります
属性名 | 前書き |
---|---|
apiVersion | APIバージョン |
種類 | リソースタイプ |
メタデータ | リソースメタデータ |
スペック | リソース仕様(予想) |
レプリカ | 部数 |
セレクタ | ラベルセレクター |
テンプレート | ポッドテンプレート |
スペック | ポッドの期待 |
コンテナ | 容器配置 |
YAMLファイルを作成する簡単な方法
一般的に、YAMLファイルを自分で作成することはめったにありません。これは、関連するコンテンツが多く、通常はツールを使用して作成するためです。
kubectlcreateコマンドを使用する
この方法は通常、リソースがデプロイされていない場合に使用されます。YAML構成ファイルを直接作成できます。
#尝试运行,并不会真正的创建镜像
kubectl create deployment web --image=nginx -o yaml --dry-run=client
または、ファイルにリダイレクトすることもできます
kubectl create deployment web --image=nginx -o yaml --dry-run=client > web.yaml
次に、このテンプレートを使用して変更できます
kubectlgetコマンドを使用してyamlファイルをエクスポートします
ここでは、構成ファイルをエクスポートするためにデプロイされたイメージが必要です
kubectl get deployment web -o yaml > web.yaml
必要なYAMLファイルを変更します
閲覧していただきありがとうございます!!!