第8章 EgressQoS [k8s.ovn.org/v1]
- 説明
- EgressQoS は、ユーザーがその namespace 上の Pod の Egress トラフィックの DSCP 値を指定された CIDR に定義できるようにする CRD です。これらの Pod からのトラフィックは、namespace の EgressQoS 内の各 EgressQoSRule に対してチェックされ、一致する場合は、トラフィックに関連する DSCP 値がそのトラフィックにマークされます。
- 型
-
object
8.1. 仕様
プロパティー | 型 | 説明 |
---|---|---|
|
| APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。 |
|
| kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できる場合があります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
| 標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。 | |
|
| EgressQoSSpec は EgressQoS の望ましい状態を定義します |
|
| EgressQoSStatus は EgressQoS の観測された状態を定義します |
8.1.1. .spec
- 説明
- EgressQoSSpec は EgressQoS の望ましい状態を定義します
- 型
-
object
- 必須
-
egress
-
プロパティー | 型 | 説明 |
---|---|---|
|
| Egress QoS ルールオブジェクトのコレクション |
|
|
8.1.2. .spec.egress
- 説明
- Egress QoS ルールオブジェクトのコレクション
- 型
-
array
8.1.3. .spec.egress[]
- 説明
- 型
-
object
- 必須
-
dscp
-
プロパティー | 型 | 説明 |
---|---|---|
|
| 一致する Pod のトラフィックの DSCP マーキング値。 |
|
| DstCIDR は宛先の CIDR を指定します。この CIDR に向かうトラフィックのみが DSCP 値でマークされます。このフィールドはオプションです。設定されていない場合は、宛先に関係なくすべての Egress トラフィックにルールが適用されます。 |
|
| PodSelector は、ラベルがこの定義と一致する namespace 内の Pod にのみ QoS ルールを適用します。このフィールドはオプションです。設定されていない場合は、namespace 内のすべての Pod にルールが適用されます。 |
8.1.4. .spec.egress[].podSelector
- 説明
- PodSelector は、ラベルがこの定義と一致する namespace 内の Pod にのみ QoS ルールを適用します。このフィールドはオプションです。設定されていない場合は、namespace 内のすべての Pod にルールが適用されます。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
8.1.5. .spec.egress[].podSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
8.1.6. .spec.egress[].podSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
8.1.7. .status
- 説明
- EgressQoSStatus は EgressQoS の観測された状態を定義します
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| EgressQoS オブジェクトのステータスに関する詳細を示す条件オブジェクトの配列。 |
|
| 条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパスの .status.conditions で配列として直接使用することを目的としています。以下に例を示します。
たとえば、次のように入力します。FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition // other fields } |
|
| EgressQoS リソースが正常に適用されたかどうかを簡潔に示します。 |
8.1.8. .status.conditions
- 説明
- EgressQoS オブジェクトのステータスに関する詳細を示す条件オブジェクトの配列。
- 型
-
array
8.1.9. .status.conditions[]
- 説明
条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパスの .status.conditions で配列として直接使用することを目的としています。以下に例を示します。
type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// other fields }
- 型
-
object
- 必須
-
lastTransitionTime
-
message
-
reason
-
status
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。 |
|
| message は、遷移の詳細を示す人が判読できるメッセージです。空の文字列の場合もあります。 |
|
| observedGeneration は、それをベースに条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が現在 12 で、.status.conditions[x].observedGeneration が 9 の場合、インスタンスの現在の状態に対して条件が古くなっています。 |
|
| reason には、条件の最後の遷移の理由を示すプログラムによる識別子が含まれます。特定の条件タイプのプロデューサーは、このフィールドの期待値と意味、および値が保証された API と見なされるかどうかを定義できます。値は CamelCase 文字列である必要があります。このフィールドには空白を指定できません。 |
|
| 条件のステータス、True、False、Unknown のいずれか。 |
|
| CamelCase または foo.example.com/CamelCase の条件のタイプ。--- 多くの.condition.type 値は、Available などのリソース全体で一貫していますが、任意の条件が役立つ可能性があるため (.node.status.conditions を参照)、競合を解消する機能が重要です。一致する正規表現は (dns1123SubdomainFmt/)?(qualifiedNameFmt) です。 |