검색

1.22. KlusterletConfig API (v1alpha1)

download PDF

1.22.1. 개요

이 문서는 Red Hat Advanced Cluster Management for Kubernetes용 KlusterletConfig 리소스에 대한 것입니다. KlusterletConfig 리소스에는 생성, 쿼리, 삭제 및 업데이트의 네 가지 요청이 있습니다. KlusterletConfig에는 nodeSelector,tolerationspullSecret 과 같은 klusterlet에 대한 구성 정보가 포함되어 있습니다. KlusterletConfig는 클러스터 범위 리소스이며 open-cluster-managemnet-agent 네임스페이스의 klusterlet Pod에서만 작동합니다. KlusterletConfig는 애드온 배포 구성에 영향을 미치지 않습니다.

1.22.1.1. 버전 정보

버전 : 2.10.0

1.22.1.2. URI 스키마

BasePath : /kubernetes/apis
Schemes : HTTPS

1.22.1.3. 태그

  • config.open-cluster-management.io : KlusterletConfig 생성 및 관리

1.22.2. 경로

1.22.2.1. 모든 KlusterletConfig 쿼리

GET /config.open-cluster-management.io/v1alpha1/namespaces/{namespace}/klusterletconfigs
1.22.2.1.1. 설명

자세한 내용은 KlusterletConfigs를 쿼리합니다.

1.22.2.1.2. 매개 변수
유형이름설명스키마

헤더

COOKIE
필요

권한 부여: Bearer {ACCESS_TOKEN}; ACCESS_TOKEN은 사용자 액세스 토큰입니다.

string

1.22.2.1.3. 응답
HTTP 코드설명스키마

200

성공

콘텐츠 없음

403

액세스 금지

콘텐츠 없음

404

리소스를 찾을 수 없음

콘텐츠 없음

500

내부 서비스 오류

콘텐츠 없음

503

서비스를 사용할 수 없음

콘텐츠 없음

1.22.2.1.4. 사용
  • klusterletconfig/yaml
1.22.2.1.5. 태그
  • config.open-cluster-management.io

1.22.2.2. KlusterletConfig 생성

POST /config.open-cluster-management.io/v1alpha1/namespaces/{namespace}/klusterletconfigs
1.22.2.2.1. 설명

KlusterletConfig를 생성합니다.

1.22.2.2.2. 매개 변수
유형이름설명스키마

헤더

COOKIE
필요

권한 부여: Bearer {ACCESS_TOKEN}; ACCESS_TOKEN은 사용자 액세스 토큰입니다.

string

본문

본문
필요

생성할 KlusterletConfig 바인딩을 설명하는 매개변수입니다.

KlusterletConfig

1.22.2.2.3. 응답
HTTP 코드설명스키마

200

성공

콘텐츠 없음

403

액세스 금지

콘텐츠 없음

404

리소스를 찾을 수 없음

콘텐츠 없음

500

내부 서비스 오류

콘텐츠 없음

503

서비스를 사용할 수 없음

콘텐츠 없음

1.22.2.2.4. 사용
  • klusterletconfig/yaml
1.22.2.2.5. 태그
  • config.open-cluster-management.io
1.22.2.2.6. HTTP 요청의 예
1.22.2.2.6.1. 요청 본문
{
  "apiVersion": "apiextensions.k8s.io/v1",
  "kind": "CustomResourceDefinition",
  "metadata": {
    "annotations": {
      "controller-gen.kubebuilder.io/version": "v0.7.0"
    },
    "creationTimestamp": null,
    "name": "klusterletconfigs.config.open-cluster-management.io"
  },
  "spec": {
    "group": "config.open-cluster-management.io",
    "names": {
      "kind": "KlusterletConfig",
      "listKind": "KlusterletConfigList",
      "plural": "klusterletconfigs",
      "singular": "klusterletconfig"
    },
    "preserveUnknownFields": false,
    "scope": "Cluster",
    "versions": [
      {
        "name": "v1alpha1",
        "schema": {
          "openAPIV3Schema": {
            "description": "KlusterletConfig contains the configuration of a klusterlet including the upgrade strategy, config overrides, proxy configurations etc.",
            "properties": {
              "apiVersion": {
                "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                "type": "string"
              },
              "kind": {
                "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                "type": "string"
              },
              "metadata": {
                "type": "object"
              },
              "spec": {
                "description": "Spec defines the desired state of KlusterletConfig",
                "properties": {
                  "hubKubeAPIServerProxyConfig": {
                    "description": "HubKubeAPIServerProxyConfig holds proxy settings for connections between klusterlet/add-on agents on the managed cluster and the kube-apiserver on the hub cluster. Empty means no proxy settings is available.",
                    "properties": {
                      "caBundle": {
                        "description": "CABundle is a CA certificate bundle to verify the proxy server. It will be ignored if only HTTPProxy is set; And it is required when HTTPSProxy is set and self signed CA certificate is used by the proxy server.",
                        "format": "byte",
                        "type": "string"
                      },
                      "httpProxy": {
                        "description": "HTTPProxy is the URL of the proxy for HTTP requests",
                        "type": "string"
                      },
                      "httpsProxy": {
                        "description": "HTTPSProxy is the URL of the proxy for HTTPS requests HTTPSProxy will be chosen if both HTTPProxy and HTTPSProxy are set.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "nodePlacement": {
                    "description": "NodePlacement enables explicit control over the scheduling of the agent components. If the placement is nil, the placement is not specified, it will be omitted. If the placement is an empty object, the placement will match all nodes and tolerate nothing.",
                    "properties": {
                      "nodeSelector": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "NodeSelector defines which Nodes the Pods are scheduled on. The default is an empty list.",
                        "type": "object"
                      },
                      "tolerations": {
                        "description": "Tolerations is attached by pods to tolerate any taint that matches the triple <key,value,effect> using the matching operator <operator>. The default is an empty list.",
                        "items": {
                          "description": "The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.",
                          "properties": {
                            "effect": {
                              "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
                              "type": "string"
                            },
                            "key": {
                              "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.",
                              "type": "string"
                            },
                            "operator": {
                              "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.",
                              "type": "string"
                            },
                            "tolerationSeconds": {
                              "description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.",
                              "format": "int64",
                              "type": "integer"
                            },
                            "value": {
                              "description": "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "pullSecret": {
                    "description": "PullSecret is the name of image pull secret.",
                    "properties": {
                      "apiVersion": {
                        "description": "API version of the referent.",
                        "type": "string"
                      },
                      "fieldPath": {
                        "description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.",
                        "type": "string"
                      },
                      "kind": {
                        "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                        "type": "string"
                      },
                      "name": {
                        "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                      },
                      "namespace": {
                        "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/",
                        "type": "string"
                      },
                      "resourceVersion": {
                        "description": "Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
                        "type": "string"
                      },
                      "uid": {
                        "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "registries": {
                    "description": "Registries includes the mirror and source registries. The source registry will be replaced by the Mirror.",
                    "items": {
                      "properties": {
                        "mirror": {
                          "description": "Mirror is the mirrored registry of the Source. Will be ignored if Mirror is empty.",
                          "type": "string"
                        },
                        "source": {
                          "description": "Source is the source registry. All image registries will be replaced by Mirror if Source is empty.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "mirror"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "status": {
                "description": "Status defines the observed state of KlusterletConfig",
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "served": true,
        "storage": true,
        "subresources": {
          "status": {}
        }
      }
    ]
  },
  "status": {
    "acceptedNames": {
      "kind": "",
      "plural": ""
    },
    "conditions": [],
    "storedVersions": []
  }
}

1.22.2.3. 단일 KlusterletConfig 쿼리

GET /config.open-cluster-management.io/v1alpha1/namespaces/{namespace}/klusterletconfigs/{klusterletconfig_name}
1.22.2.3.1. 설명

자세한 내용은 단일 KlusterletConfig를 쿼리합니다.

1.22.2.3.2. 매개 변수
유형이름설명스키마

헤더

COOKIE
필요

권한 부여: Bearer {ACCESS_TOKEN}; ACCESS_TOKEN은 사용자 액세스 토큰입니다.

string

경로

klusterletconfig_name
required

쿼리할 KlusterletConfig의 이름입니다.

string

1.22.2.3.3. 응답
HTTP 코드설명스키마

200

성공

콘텐츠 없음

403

액세스 금지

콘텐츠 없음

404

리소스를 찾을 수 없음

콘텐츠 없음

500

내부 서비스 오류

콘텐츠 없음

503

서비스를 사용할 수 없음

콘텐츠 없음

1.22.2.3.4. 태그
  • config.open-cluster-management.io

1.22.2.4. KlusterletConfig 삭제

DELETE /addon.open-cluster-management.io/v1alpha1/namespaces/{namespace}/klusterletconfigs/{klusterletconfig_name}
1.22.2.4.1. 설명

단일 klusterletconfig를 삭제합니다.

1.22.2.4.2. 매개 변수
유형이름설명스키마

헤더

COOKIE
필요

권한 부여: Bearer {ACCESS_TOKEN}; ACCESS_TOKEN은 사용자 액세스 토큰입니다.

string

경로

klusterletconfig_name
required

삭제할 KlusterletConfig의 이름입니다.

string

1.22.2.4.3. 응답
HTTP 코드설명스키마

200

성공

콘텐츠 없음

403

액세스 금지

콘텐츠 없음

404

리소스를 찾을 수 없음

콘텐츠 없음

500

내부 서비스 오류

콘텐츠 없음

503

서비스를 사용할 수 없음

콘텐츠 없음

1.22.2.4.4. 태그
  • config.open-cluster-management.io

1.22.3. 정의

1.22.3.1. KlusterletConfig

이름설명스키마

apiVersion
필요

KlusterletConfig의 버전이 지정된 스키마입니다.

string

종류
필요

REST 리소스를 나타내는 문자열 값입니다.

string

메타데이터
필요

KlusterletConfig의 메타데이터입니다.

object

사양
필요

KlusterletConfig의 사양입니다.

spec

spec

이름설명스키마

레지스트리
선택 사항

미러 및 소스 레지스트리를 포함합니다. 소스 레지스트리는 미러로 교체됩니다.

레지스트리

pullSecret
선택 사항

이미지 풀 시크릿의 이름입니다.

object

nodePlacement
필요

관리 클러스터에서 애드온 에이전트의 스케줄링 제어를 활성화합니다.

nodePlacement

hubKubeAPIServerProxyConfig
required

관리 클러스터에서 klusterlet 또는 애드온 에이전트 간 연결에 대한 프록시 설정을 포함하고 hub 클러스터의 kube-apiserver가 있습니다. 비어있는 것은 프록시 설정을 사용할 수 없음을 의미합니다.

kubeAPIServerProxyConfig

nodePlacement

이름설명스키마

nodeSelector
선택 사항

Pod가 실행되도록 예약되는 노드를 정의합니다. nodeSelector 가 비어 있으면 nodeSelector 가 모든 노드를 선택합니다.

map[string]string

허용 오차
선택 사항

Pod에 적용되고 일치하는 Operator(<operator>)를 사용하여 < key,value,effect > 허용 오차와 일치하는 테인트에 Pod를 예약하는 데 사용됩니다.

[]corev1.Toleration

kubeAPIServerProxyConfig

이름설명스키마

caBundle
optional

프록시 서버를 확인하는 CA 인증서 번들입니다. HTTPProxy만 설정된 경우 번들은 무시됩니다. HTTPSProxy가 설정되고 자체 서명된 CA 인증서를 프록시 서버에서 사용하는 경우 번들이 필요합니다.

map[string]string

httpProxy
optional

HTTP 요청에 대한 프록시의 URL

map[string]string

httpsProxy
optional

HTTPS 요청에 대한 프록시의 URL입니다. HTTPProxy 및 HTTPSProxy가 모두 설정된 경우 httpsProxy가 선택됩니다.

map[string]string

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.