首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库伯奈特斯库贝-控制器-经理。我怎样才能应用旗子?

库伯奈特斯库贝-控制器-经理。我怎样才能应用旗子?
EN

Stack Overflow用户
提问于 2020-03-20 01:38:47
回答 1查看 1.6K关注 0票数 3

文献资料中,我发现应该在kube-controller-manager上应用以下标志来解决我的问题:

代码语言:javascript
复制
--horizontal-pod-autoscaler-use-rest-clients=1m0s

但是如何在kube-controller-manager上应用这个标志呢?我不明白,因为它不是基于YAML的设置,而且我在本地机器上拥有的唯一东西是kubectl & oc CLI工具。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-20 04:46:23

kube-controller-manager在您的K8s控制平面上运行。因此,您必须在您的控制平面运行的服务器上添加该标志。通常,这是一个不均衡的服务器数量(其中一个是主服务器)3或5,因为它是推荐的仲裁。(使用kubeadm的示例)。

因此,通常情况下,kube-controller-manager向您的主人吐露自己生活在/etc/kubernetes/manifests之下。文件名通常为kube-controller-manager.yaml,可以将内容更改为如下所示:

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    component: kube-controller-manager
    tier: control-plane
  name: kube-controller-manager
  namespace: kube-system
spec:
  containers:
  - command:
    - kube-controller-manager
    - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
    - --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf
    - --bind-address=127.0.0.1
    - --client-ca-file=/var/lib/minikube/certs/ca.crt
    - --cluster-signing-cert-file=/var/lib/minikube/certs/ca.crt
    - --cluster-signing-key-file=/var/lib/minikube/certs/ca.key
    - --controllers=*,bootstrapsigner,tokencleaner
    - --kubeconfig=/etc/kubernetes/controller-manager.conf
    - --leader-elect=true
    - --requestheader-client-ca-file=/var/lib/minikube/certs/front-proxy-ca.crt
    - --root-ca-file=/var/lib/minikube/certs/ca.crt
    - --service-account-private-key-file=/var/lib/minikube/certs/sa.key
    - --use-service-account-credentials=true
    - --horizontal-pod-autoscaler-use-rest-clients=1m0s  <== add this line
    image: k8s.gcr.io/kube-controller-manager:v1.16.2
    imagePullPolicy: IfNotPresent
    livenessProbe:
      failureThreshold: 8
      httpGet:
        host: 127.0.0.1
        path: /healthz
        port: 10252
        scheme: HTTP
      initialDelaySeconds: 15
      timeoutSeconds: 15
    name: kube-controller-manager
    resources:
      requests:
        cpu: 200m
    volumeMounts:
    - mountPath: /etc/ssl/certs
      name: ca-certs
      readOnly: true
    - mountPath: /var/lib/minikube/certs
      name: k8s-certs
      readOnly: true
    - mountPath: /etc/kubernetes/controller-manager.conf
      name: kubeconfig
      readOnly: true
    - mountPath: /usr/share/ca-certificates
      name: usr-share-ca-certificates
      readOnly: true
  hostNetwork: true
  priorityClassName: system-cluster-critical
  volumes:
  - hostPath:
      path: /etc/ssl/certs
      type: DirectoryOrCreate
    name: ca-certs
  - hostPath:
      path: /var/lib/minikube/certs
      type: DirectoryOrCreate
    name: k8s-certs
  - hostPath:
      path: /etc/kubernetes/controller-manager.conf
      type: FileOrCreate
    name: kubeconfig
  - hostPath:
      path: /usr/share/ca-certificates
      type: DirectoryOrCreate
    name: usr-share-ca-certificates
status: {}

然后你需要重新启动你的库贝控制器经理。

这可能会根据您在主程序中运行的内容而有所不同。如果您可以执行类似于sudo systemctl restart docker的操作,或者您需要重新启动容器,如果您正在使用它而不是码头systemctl restart containerd

或者,如果您只想启动kube-controller-manager,则可以执行docker restart kube-controller-mamnagercrictl stop kube-controller-manager; crictl start kube-controller-manager

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60767427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档