さらに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
[root@master ~]# kubectl get po -l env,tier
ラベルリソースにタグを追加します。
[root@master ~]# kubectl label pod labels app=pc
pod/labels labeled
チェックは、[リソース]タブにラベルを付けます:
[root@master ~]# kubectl get pod -l app
[root@master ~]# kubectl get pod -l tier --show-labels
リソースはラベルを削除するラベル:
[root@master ~]# kubectl label pod labels app-
pod/labels labeled
リソースは、ラベルを変更するラベル:
[root@master ~]# kubectl label pod labels env=dev --overwrite
pod/labels labeled
[ルートマスター@〜]#の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」関係です。
論理タグセレクタ:
- 「および」動作のために指定されたタグの複数の間の論理的な関係があります。
- NULLタグセレクタは、各リソース・オブジェクトが選択されることを意味します。
- 空のタグセレクタは、すべてのリソースを選択することはできません。
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。ユーザーの認証と認可のメカニズムに基づいて、