完全なクラスタK8Sを構築する11

完全なクラスタKubernetesを構築する11

1. kubectlは、コマンドの分類(フォーカス)の原則に従ってください

構文1:

kubectl 动作 具体的对象

例えば:

"""
kubectl describe node  master

describe  描述,相当于语法中的动作
node      node资源,相当于语法中的类,对某一类资源的统称
master        node资源中的一个叫master资源,相当于语法中的具体对象
"""

構文2:

kubectl 动作 大范围参数 细化参数...

例えば:

"""
kubectl get pods  -n  kube-system  -o  wide

-n    表示  namespace(命名空间)
kube-system  表示 多个命名空间中的一个命名空间
-o    
wide  更加全面的展示信息
"""

ユーザーが独自のポッドを実行することはできませんユーザーを制限するためにどのような技術により、2マスターノード?

デフォルトでは、マスターノードは、ユーザーのポッドを実行することはできません。そしてKubernetesは、これを行うテイント/寛容機構のKubernetesに依存しています

その原理は非常に単純です:ノードはテイント(染色)、すなわち「著しい汚れ」を追加した後Kubernetesポッド「は、トップの上に」があるので、すべてのポッドは、このノード上で実行されません

、彼は寛容を宣言する「汚れ」を「許容」することができますことを、個々のポッド文がある場合を除き、それは、このノード上で実行することができます。

その中で、「汚染された」(テイント)コマンドマークノードは、次のとおりです。

kubectl taint nodes node1 foo=bar:NoSchedule

FOO =バー:NoScheduleこのとき、キーと値は、ノードノード1、すなわちのテイント形式を増加します。どこNoSchedule内の値は、新しいポッドをスケジュールするときテイントは、すでに彼らは寛容にしていない場合でも、ポッドをnode1で実行されているに影響を与えずに、効果を持っていることを意味します。

それでは、どのようポッド文は、それを寛容?

限り、我々はtolerationsフィールドを追加し、ポッド内specファイルの.yamlの一部であるとして:

apiVersion: v1
kind: Pod
...
spec:
  tolerations:
  - key: "foo"
    operator: "Equal"
    value: "bar"
    effect: "NoSchedule"

この寛容の意味は、このポッドはテイント(「等しい」、「等しい」動作演算子)バー=すべてのキーと値のペアfoo「を許容する」ことができることです。

今戻って私たちが築いてきたクラスタへ。その後、あなたはkubectlを通じて確認した場合、それはことが判明されるかをマスターノードテイントフィールドについて説明します。

$ kubectl describe node master
 
Name:               master
Roles:              master
Taints:             node-role.kubernetes.io/master:NoSchedule

あなたはマスターノードがデフォルトで追加され、見るnode-role.kubernetes.io/master:NoScheduleように「汚れ」、「結合」node-role.kubernetes.io/masterが、「価値」を提供していません

この時点で、あなたは演算子(演算子:「存在」、「存在」缶)「が存在する」とこれを好きに必要なすべてのfooを許容することができポッドを説明するためには、ポッドにこの実行を行うために、キーテイントでありますマスターノード:

apiVersion: v1
kind: Pod
...
spec:
  tolerations:
  - key: "foo"
    operator: "Exists"
    effect: "NoSchedule"

もちろん、あなただけの単一のノードをKubernetesをしたい場合は、テイントは正しい選択です削除します

$ kubectl taint nodes --all node-role.kubernetes.io/master-

上に示したように、私たちは「であるnode-role.kubernetes.io/master」、この背後にあるキーはダッシュを追加しました「 - 」、この形式は、すべてを除去するためにことを意味し、「node-role.kubernetes.io/master」テイントが鍵

おすすめ

転載: www.cnblogs.com/plf-Jack/p/11299987.html