第2章 APIRequestCount [apiserver.openshift.io/v1]
- 説明
-
APIRequestCount は、API に対して行われたリクエストを追跡します。インスタンス名は、
リソース
と一致する resource.version.group の形式である必要があります。互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。 - タイプ
-
object
- 必須
-
spec
-
2.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 を参照してください。 | |
|
| spec は、リソースの特性を定義します。 |
|
| status には、リソースの監視された状態が含まれます。 |
2.1.1. .spec
- 説明
- spec は、リソースの特性を定義します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| numberOfUsersToReport は、レポートに含めるユーザーの数です。指定されていないかゼロの場合、デフォルトは 10 です。これはデフォルトであり、変更される可能性があります。 |
2.1.2. .status
- 説明
- status には、リソースの監視された状態が含まれます。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| 条件には、この API リソースの現在のステータスの詳細が含まれています。 |
|
|
条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパス.status.conditions で配列として直接使用することを目的としています。たとえば、次のように入力します。FooStatus struct{//foo の現在の状態の監視を表します。//既知の.status.conditions.type は次のとおりです: "Available"、"Progressing"、および "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition |
|
| currentHour には、現在の時間のリクエスト履歴が含まれます。これは、問題に対処したかどうかを確認する人間が API を読みやすくするための磁器です。このフィールドは正時にリセットされます。 |
|
| last24h には、過去 24 時間のリクエスト履歴が含まれ、時間でインデックスが付けられます。したがって、12:00 AM〜12:59 はインデックス 0、6 am〜6:59am はインデックス 6 などになります。現在の時間のインデックスはライブで更新され、requestsLastHour フィールドに複製されます。 |
|
| PerResourceAPIRequestLog は、さまざまなノードの要求をログに記録します。 |
|
| removedInRelease は、API が削除される時期です。 |
|
| requestCount は、現在のすべての時間、ノード、およびユーザーにわたるすべての requestCount の合計です。 |
2.1.3. .status.conditions
- 説明
- 条件には、この API リソースの現在のステータスの詳細が含まれています。
- タイプ
-
array
2.1.4. .status.conditions[]
- 説明
-
条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパス.status.conditions で配列として直接使用することを目的としています。たとえば、次のように入力します。FooStatus struct{//foo の現在の状態の監視を表します。//既知の.status.conditions.type は次のとおりです: "Available"、"Progressing"、および "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"
// その他のフィールド} - タイプ
-
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) です。 |
2.1.5. .status.currentHour
- 説明
- currentHour には、現在の時間のリクエスト履歴が含まれます。これは、問題に対処したかどうかを確認する人間が API を読みやすくするための磁器です。このフィールドは正時にリセットされます。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| byNode には、ノードごとのリクエストのログが含まれています。 |
|
| PerNodeAPIRequestLog には、特定のノードへの要求のログが含まれています。 |
|
| requestCount は、ノード全体のすべての requestCount の合計です。 |
2.1.6. .status.currentHour.byNode
- 説明
- byNode には、ノードごとのリクエストのログが含まれています。
- タイプ
-
array
2.1.7. .status.currentHour.byNode[]
- 説明
- PerNodeAPIRequestLog には、特定のノードへの要求のログが含まれています。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| byUser には、上位の.spec.numberOfUsersToReport ユーザーによるリクエストの詳細が含まれています。apiserver の場合、トップユーザーのリストを再起動することはベストエフォートベースで決定されるため、リストが不正確になる可能性があることに注意してください。さらに、一部のシステムユーザーがリストに明示的に含まれている場合があります。 |
|
| PerUserAPIRequestCount には、ユーザーのリクエストのログが含まれます。 |
|
| リクエストが処理されている nodeName。 |
|
| requestCount は、上位 10 人のユーザー以外のユーザーも含め、すべてのユーザーのすべての requestCount の合計です。 |
2.1.8. .status.currentHour.byNode[].byUser
- 説明
- byUser には、上位の.spec.numberOfUsersToReport ユーザーによるリクエストの詳細が含まれています。apiserver の場合、トップユーザーのリストを再起動することはベストエフォートベースで決定されるため、リストが不正確になる可能性があることに注意してください。さらに、一部のシステムユーザーがリストに明示的に含まれている場合があります。
- タイプ
-
array
2.1.9. .status.currentHour.byNode[].byUser[]
- 説明
- PerUserAPIRequestCount には、ユーザーのリクエストのログが含まれます。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| byVerb 動詞ごとの詳細。 |
|
| API リクエスト動詞による PerVerbAPIRequestCount requestCounts 要求。 |
|
| requestCount すべての動詞にわたるユーザーによる要求の数。 |
|
| リクエストを行った userAgent。同じユーザーが、接続する複数のバイナリー (多くのコンテナーを持つ Pod) を持っていることがよくあります。バイナリーが異なれば、userAgent も異なりますが、ユーザーは同じです。さらに、バージョン情報が埋め込まれた userAgent があり、userName が変更される可能性はほとんどありません。 |
|
| リクエストを行った userName。 |
2.1.10. .status.currentHour.byNode[].byUser[].byVerb
- 説明
- byVerb 動詞ごとの詳細。
- タイプ
-
array
2.1.11. .status.currentHour.byNode[].byUser[].byVerb[]
- 説明
- API リクエスト動詞による PerVerbAPIRequestCount requestCounts 要求。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| requestCount 動詞のリクエストの数。 |
|
| API リクエストの動詞 (get、list、create など…) |
2.1.12. .status.last24h
- 説明
- last24h には、過去 24 時間のリクエスト履歴が含まれ、時間でインデックスが付けられます。したがって、12:00 AM〜12:59 はインデックス 0、6 am〜6:59am はインデックス 6 などになります。現在の時間のインデックスはライブで更新され、requestsLastHour フィールドに複製されます。
- タイプ
-
array
2.1.13. .status.last24h[]
- 説明
- PerResourceAPIRequestLog は、さまざまなノードの要求をログに記録します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| byNode には、ノードごとのリクエストのログが含まれています。 |
|
| PerNodeAPIRequestLog には、特定のノードへの要求のログが含まれています。 |
|
| requestCount は、ノード全体のすべての requestCount の合計です。 |
2.1.14. .status.last24h[].byNode
- 説明
- byNode には、ノードごとのリクエストのログが含まれています。
- タイプ
-
array
2.1.15. .status.last24h[].byNode[]
- 説明
- PerNodeAPIRequestLog には、特定のノードへの要求のログが含まれています。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| byUser には、上位の.spec.numberOfUsersToReport ユーザーによるリクエストの詳細が含まれています。apiserver の場合、トップユーザーのリストを再起動することはベストエフォートベースで決定されるため、リストが不正確になる可能性があることに注意してください。さらに、一部のシステムユーザーがリストに明示的に含まれている場合があります。 |
|
| PerUserAPIRequestCount には、ユーザーのリクエストのログが含まれます。 |
|
| リクエストが処理されている nodeName。 |
|
| requestCount は、上位 10 人のユーザー以外のユーザーも含め、すべてのユーザーのすべての requestCount の合計です。 |
2.1.16. .status.last24h[].byNode[].byUser
- 説明
- byUser には、上位の.spec.numberOfUsersToReport ユーザーによるリクエストの詳細が含まれています。apiserver の場合、トップユーザーのリストを再起動することはベストエフォートベースで決定されるため、リストが不正確になる可能性があることに注意してください。さらに、一部のシステムユーザーがリストに明示的に含まれている場合があります。
- タイプ
-
array
2.1.17. .status.last24h[].byNode[].byUser[]
- 説明
- PerUserAPIRequestCount には、ユーザーのリクエストのログが含まれます。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| byVerb 動詞ごとの詳細。 |
|
| API リクエスト動詞による PerVerbAPIRequestCount requestCounts 要求。 |
|
| requestCount すべての動詞にわたるユーザーによる要求の数。 |
|
| リクエストを行った userAgent。同じユーザーが、接続する複数のバイナリー (多くのコンテナーを持つ Pod) を持っていることがよくあります。バイナリーが異なれば、userAgent も異なりますが、ユーザーは同じです。さらに、バージョン情報が埋め込まれた userAgent があり、userName が変更される可能性はほとんどありません。 |
|
| リクエストを行った userName。 |
2.1.18. .status.last24h[].byNode[].byUser[].byVerb
- 説明
- byVerb 動詞ごとの詳細。
- タイプ
-
array
2.1.19. .status.last24h[].byNode[].byUser[].byVerb[]
- 説明
- API リクエスト動詞による PerVerbAPIRequestCount requestCounts 要求。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| requestCount 動詞のリクエストの数。 |
|
| API リクエストの動詞 (get、list、create など…) |