Как изменить лимиты бегущих стручков в Кубернетесе? - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть самодельный кластер Kubernetes, состоящий из виртуальных машин.Моя проблема заключается в том, что модули coredns всегда переходят в состояние CrashLoopBackOff, и через некоторое время они возвращаются к режиму «Выполнение, поскольку ничего не произошло». Одно из решений, которое я нашел и еще не смог попробовать, - это изменить ограничение памяти по умолчанию со 170Mi на что-товыше.Поскольку я не эксперт в этом, я подумал, что это не сложно, но я не знаю, как изменить конфигурацию работающего модуля.Это может быть невозможно, но должен быть способ воссоздать их с новой конфигурацией.Я попытался с kubectl patch, и посмотрел катящееся обновление также, но я просто не могу понять это.Как я могу изменить предел?

Вот соответствующая часть данных модуля:

apiVersion: v1
kind: Pod
metadata:
  annotations:
    cni.projectcalico.org/podIP: 176.16.0.12/32
  creationTimestamp: 2018-11-18T10:29:53Z
  generateName: coredns-78fcdf6894-
  labels:
    k8s-app: kube-dns
    pod-template-hash: "3497892450"
  name: coredns-78fcdf6894-gnlqw
  namespace: kube-system
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicaSet
    name: coredns-78fcdf6894
    uid: e3349719-eb1c-11e8-9000-080027bbdf83
  resourceVersion: "73564"
  selfLink: /api/v1/namespaces/kube-system/pods/coredns-78fcdf6894-gnlqw
  uid: e34930db-eb1c-11e8-9000-080027bbdf83
spec:
  containers:
  - args:
    - -conf
    - /etc/coredns/Corefile
  image: k8s.gcr.io/coredns:1.1.3
  imagePullPolicy: IfNotPresent
  livenessProbe:
    failureThreshold: 5
    httpGet:
      path: /health
      port: 8080
      scheme: HTTP
    initialDelaySeconds: 60
    periodSeconds: 10
    successThreshold: 1
    timeoutSeconds: 5
  name: coredns
  ports:
  - containerPort: 53
    name: dns
    protocol: UDP
  - containerPort: 53
    name: dns-tcp
    protocol: TCP
  - containerPort: 9153
    name: metrics
    protocol: TCP
  resources:
    limits:
      memory: 170Mi
    requests:
      cpu: 100m
      memory: 70Mi

РЕДАКТИРОВАТЬ: Оказалось, что в Ubuntu dnsmasq сетевого менеджера сводит с ума стручки Corends, поэтому в /etc/NetworkManager/NetworkManager.conf я закомментировал строку dnsmasq, перезагрузился и все в порядке.

1 Ответ

0 голосов
/ 23 ноября 2018

Вы должны отредактировать шаблон модуля coredns в определении развертывания coredns:

kubectl edit deployment -n kube-system coredns

Как только ваш редактор по умолчанию открывается с развертыванием coredns, в templateSpec вы найдете часть, которая отвечает за установку пределов памяти и процессора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...