среда, 23 мая 2018 г.

kubernetes 1.10  обмеження 110 pods на node

Перевірити так
 kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, cap: .status.capacity}'

kube@kub01pp:/etc/systemd/system/kubelet.service.d$ kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, cap: .status.capacity}'
Щоб було як у у прикладі 240, а не 110
{
  "name": "kub01pp",
  "cap": {
    "cpu": "16",
    "ephemeral-storage": "38703652Ki",
    "hugepages-1Gi": "0",
    "hugepages-2Mi": "0",
    "memory": "65963632Ki",
    "pods": "240"
  }
}
{
  "name": "kub02pp",
  "cap": {
    "cpu": "16",
    "ephemeral-storage": "38703652Ki",
    "hugepages-1Gi": "0",
    "hugepages-2Mi": "0",
    "memory": "65963572Ki",
    "pods": "240"
  }
}
{
  "name": "kub03pp",
  "cap": {
    "cpu": "16",
    "ephemeral-storage": "0",
    "hugepages-1Gi": "0",
    "hugepages-2Mi": "0",
    "memory": "65963632Ki",
    "pods": "240"
  }
}

cd /etc/systemd/system/kubelet.service.d/
у цьому файлі додати Environment="KUBELET_EXTRA_ARGS=--max-pods=240" 10-kubeadm.conf
потім systemctl daemon-reload
service kubelet restart

Оновлення kubernetes з custom controller (with CEPH RBD)

оновлення kubernetes
1) apt-get update&&apt-get upgrade
2) оновлюємо controller
в файлі /home/kube/docker/Dockerfile вписуємо потрібну версію
3)  робимо імідж
docker build -t "my-kube-controller-manager:v1.10.3" docker/
4) перевіряємо
docker images | grep my-kube-controller-manager
5) перевіряємо image чи в ньому є rbd binary
docker run my-kube-controller-manager:v1.10.3 whereis rbd
6) в файлі  /etc/kubernetes/manifests/kube-controller-manager.yaml
image: my-kube-controller-manager:v1.10.3 (замінюємо на наше ім'я та
перевіряємо imagePullPolicy: IfNotPresent )

7) під користувачем kube
kubectl -n kube-system describe pods | grep kube-controller
8)  потім звичайно
kubeadm upgrade plan
а потім
kubeadm upgrade apply <версія> 
9) перевіряємо
docker images | grep my-kube-controller-manager 
 якщо потрібно пункт 6 знову