四、k 8 sクラスタリソースリスト定義の入門
6281 ワード
目次リソースオブジェクト リソースを作成する方法 インベントリヘルプコマンド テストリスト を作成する
リソースの3つの作成方法 workload:Pod, ReplicaSet, Deployment, StatefulSet, DaemonSet, Job, Cronjob サービス発見と均衡:Service,Ingress 構成とストレージ:Volume,CSI,ConfigMap,Secret,DownwardAPI クラスタリソース:Namespace,Node,Role,ClusterRole,RoleBinding,ClusterRoleBinding メタデータ型リソース:HPA,PodTemplate,LimitRange
apiserver:JSON形式のリソース定義のみを受け入れます.
yamlフォーマットを使用して構成リストを提供し、apiserverは自動的にJSONフォーマットに変換してから実行することができる.
ほとんどのリソースの構成リスト: apiVersion: group/version
$ kubectl api-versions kindリソースカテゴリ(pod,service,deploymentなど) metadata:メタデータ
3.spec:ユーザが望むターゲット状態、disired state
4.status:現在の状態は、spec状態に無限に近づくべきで、current state、このフィールドはkubernetesクラスタによって維持されます.ユーザーはカスタマイズできません.
次のようになります.
ここではpodの第1層を表示し、==metadata==の情報を見たい場合はpodを直接使用します.metadataは引き続き表示します
次のようになります.
このように推すとすべてそうである. kubectl explain pod.spec kubectl explain pod.status
分類:各後に対応するフィールドがあります.
を選択します.
説明する
例を挙げる
string
文字列
文字列
[]string
文字列リスト
文字列タイプの配列を入力する必要があります
map[string]string
ビュー文字列
多くのk:vタイプのデータが必要です
Object
オブジェクト
ネストする必要がある次のフィールドについて説明します.
[]Object
オブジェクトリスト
ネストする必要がある次のフィールドが複数あることを示します.
- required -
必須項目
これが発生した場合、このパラメータに記入する必要があります.
注意事項 注意大文字と小文字 リストに「-」を付ける必要があります.一般的な同級は を使用します.
正常に起動していることがわかります.
このpodを削除するには、
1、1つ目は前の記事で、コマンドで作成
2、2つ目は、この記事で説明した、構成リスト式の使い方です.コマンド・リソース・リストとも呼ばれます
3、3つ目は声明式資源リストで、3つ目は2つ目のリスト方式に似ている.
宣言式を使用すると、リソースができるだけ私たちに宣言した状態が変化することを確保し、私たちはいつでも声明を変更し、いつでも適用することができます.
リソースオブジェクト
リソースの作成方法
apiserver:JSON形式のリソース定義のみを受け入れます.
yamlフォーマットを使用して構成リストを提供し、apiserverは自動的にJSONフォーマットに変換してから実行することができる.
ほとんどのリソースの構成リスト:
$ kubectl api-versions
name
同じnamespaceの下でnameは唯一のnamespace
ネーミングスペースlabels
ラベルでなければなりません.各リソースにはラベルannotationsリソース注釈があります.3.spec:ユーザが望むターゲット状態、disired state
4.status:現在の状態は、spec状態に無限に近づくべきで、current state、このフィールドはkubernetesクラスタによって維持されます.ユーザーはカスタマイズできません.
インベントリヘルプコマンド
kubectl explain
を使用して、インベントリに必要なヘルプを表示できます.次のようになります.
[root@master ~]# kubectl explain pod
KIND: Pod
VERSION: v1
DESCRIPTION:
Pod is a collection of containers that can run on a host. This resource is
created by clients and scheduled onto hosts.
FIELDS:
apiVersion
APIVersion defines the versioned schema of this representation of an
object. Servers should convert recognized schemas to the latest internal
value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
kind
Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client submits
requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
metadata
ここではpodの第1層を表示し、==metadata==の情報を見たい場合はpodを直接使用します.metadataは引き続き表示します
次のようになります.
[root@master ~]# kubectl explain pod.metadata
KIND: Pod
VERSION: v1
RESOURCE: metadata
DESCRIPTION:
Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
ObjectMeta is metadata that all persisted resources must have, which
includes all objects users must create.
FIELDS:
annotations
このように推すとすべてそうである.
分類:各後に対応するフィールドがあります.
を選択します.
説明する
例を挙げる
string
文字列
文字列
[]string
文字列リスト
文字列タイプの配列を入力する必要があります
map[string]string
ビュー文字列
多くのk:vタイプのデータが必要です
Object
オブジェクト
ネストする必要がある次のフィールドについて説明します.
[]Object
オブジェクトリスト
ネストする必要がある次のフィールドが複数あることを示します.
- required -
必須項目
これが発生した場合、このパラメータに記入する必要があります.
テストリストの作成
pod-demo.yaml
のファイルを作成します.内容は次のとおりです.[root@master manifests]# cat pod-demo.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-demo
namespace: default
labels:
app: myapp
tier: frontend
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
- name: busybox
image: busybox:latest
command:
- "/bin/sh"
- "-c"
- "sleep 3600"
kubectl create
コマンドを使用してファイルをロードします.[root@master manifests]# kubectl create -f pod-demo.yaml
pod/pod-demo created
[root@master manifests]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod-demo 2/2 Running 0 20s 10.244.3.8 node01.kubernetes
正常に起動していることがわかります.
このpodを削除するには、
kubectl delete
を用いてpod-demo.yaml
を操作してもよい.[root@master manifests]# kubectl delete -f pod-demo.yaml
pod "pod-demo" deleted
リソースの3つの作成方法
kubernetes
のリソースには、3つの作成方法があります.1、1つ目は前の記事で、コマンドで作成
2、2つ目は、この記事で説明した、構成リスト式の使い方です.コマンド・リソース・リストとも呼ばれます
3、3つ目は声明式資源リストで、3つ目は2つ目のリスト方式に似ている.
宣言式を使用すると、リソースができるだけ私たちに宣言した状態が変化することを確保し、私たちはいつでも声明を変更し、いつでも適用することができます.