ReplocaSet、DaemonSet

さらにreplicaSet

RC:ReplicationController(ポッドコントローラーの古い世代)

オブジェクトのポッドの数は、作成からテンプレートまでの範囲、削除などの多くのように、ユーザーの期待に応えるために、その管理と制御のそのコピーを確実にするために使用しました。

特長:

  • リソースの対象ポッド正確な量を確認してください
  • ポッドは、監視動作を保証します
  • 伸縮性。

同様に、それはまた、リソースリストYAMLやJSON形式で作成することができます。それは一般的に、ネストされたフィールドであるスペックフィールド

  • レプリカ:ポッドは、オブジェクトのコピー数を予想します
  • セレクタ:オブジェクトの現在のコントローラコピーは、タグセレクタポッドと一致します
  • テンプレート:テンプレートのポッドコピー

関係RCと比較すると、RSは、同等のタグセレクタをサポートしているだけでなく、コレクションに基づいてタグセレクタをサポートしています。

タグ:より良いラベルグループに基づいて、管理するために、より多くのリソースオブジェクトの同じタイプを解決します。

共通タグカテゴリ:

リリース(バージョン情報):安定(安定版)、カナリア(カナリアバージョン)、ベータ(テスト版)

環境(環境変数):DEV(開発)、QA(テスト)、生産(生産)

アプリケーション(応用):UI(アプリケーションソフトウェアの参照ソフトウェア)として、PC、SC

層(層アーキテクチャ):フロントエンド(フロントエンド)、バックエンド(バックエンド)、キャッシュ(キャッシュ)

パーティション(パーティション):customerA(クライアントA)、をCustomerB(クライアントB)

triack(品質管理レベル):(1日)、毎日、毎週(毎週)

行うにはタグ:イタリア語を知っている名前を参照してください。

[ルート@マスター〜]#vimのlabel.yaml

kind: Pod
apiVersion: v1
metadata:
  name: labels
  labels:
    env: qa
    tier: frontend
spec:
  containers:
  - name: myapp
    image: httpd

[ルートマスター@〜]#kubectl適用-f label.yaml
ポッド/ラベルが作成

//は--show-ラベルでラベルリソースオブジェクトを表示します。

[root@master ~]# kubectl get pod --show-labels 

// -lでは、リソースのみが含まれているラベルを参照してください

[root@master ~]# kubectl get po -L env,tier

ReplocaSet、DaemonSet

[root@master ~]# kubectl get po -l env,tier

ReplocaSet、DaemonSet

ラベルリソースにタグを追加します。

[root@master ~]# kubectl label pod labels  app=pc
pod/labels labeled

チェックは、[リソース]タブにラベルを付けます:

[root@master ~]# kubectl get pod -l app

ReplocaSet、DaemonSet

[root@master ~]# kubectl get pod -l tier --show-labels

ReplocaSet、DaemonSet

リソースはラベルを削除するラベル:

[root@master ~]# kubectl label pod labels  app-
pod/labels labeled

ReplocaSet、DaemonSet

リソースは、ラベルを変更するラベル:

[root@master ~]# kubectl label pod labels env=dev --overwrite 
pod/labels labeled

ReplocaSet、DaemonSet

[ルートマスター@〜]#のvim-ラベルsvc.yaml

apiVersion: v1
kind: Service
metadata:
  name: labels-svc
spec:
  type: NodePort
  selector:
    env: qa
    tier: frontend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
[root@master ~]# kubectl apply -f label-svc.yaml 
service/labels-svc created
[root@master ~]# kubectl describe svc labels-svc 

それらのうちの1つを選択する複数のラベル、タグセレクタがある場合、また、複数のセレクタがある場合、ラベルは完全に条件を満たしている必要があり、逆に、成功と関連付けることができ、それが成功に関連付けることができます!

タグセレクタ:クエリのフィルタ条件タグ。

最初の二つは、最終的には、不平等「==」、「=」等しく、:同値関係(平等ベース)をもとに、「!」

関係(セットベース)のセットに基づいて:notin、で、3を終了します。

例:

[ルート@マスター〜]#vimのslector.yaml

selector:
  matchLabels:
    app: nginx
  matchExpressions:
    - {key: name,operator: In,values: [zhangsan,lisi]}
    - {key: age,operator: Exists,values:}

matchLabels:セレクタを表すキータグを与え。

MatchExpressions:ベースの発現は、タグセレクタを指定します。値が空でなければならない値は、文字列の空でないリストは必須ではない、または使用している間はDostNotExist存在する操作Notln LNまたは使用; SELECTリストは「AND」関係です。

論理タグセレクタ:

  1. 「および」動作のために指定されたタグの複数の間の論理的な関係があります。
  2. NULLタグセレクタは、各リソース・オブジェクトが選択されることを意味します。
  3. 空のタグセレクタは、すべてのリソースを選択することはできません。

DaemonSet

また、ポッドコントローラです。

使用シナリオ:あなたは固定または少数のノードでポッドを実行する必要がありますし、他の開始ポッドを優先する場合。一般的に、各ノードは、デフォルトで実行され、唯一のポッドを実行することができます。この場合はDaemonSetリソースオブジェクトを推奨します。

モニター:

ログ収集プログラム:

[root@master ~]# kubectl get ds -n kube-system

ウェブプログラムを実行し、各ノードでポッドを実行します。

[ルート@マスター〜]#vimのdaemonset.yaml

kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: test-ds
spec:
  template:
    metadata:
      labels:
        name: test-ds
    spec:
      containers:
      - name: test-ds
        image: httpd

[ルートマスター@〜]#はdaemonset.yaml -f適用kubectl
作成daemonset.extensions /テスト-DS

RC、RS、展開、DaemonSet。ポッドコントローラ。statfulSet、lngress。

RBAC。ユーザーの認証と認可のメカニズムに基づいて、

おすすめ

転載: blog.51cto.com/13997536/2466762