Kubernetes. Часть 3: Установка Kubernetes на Ubuntu 18.04

Отключаем swap

Перед тем, как начать, надо отключить swap. Редактируем /etc/fstab и удаляем там все что связано со swap'ом. Затем запускаем:

sudo swapoff -a

Сейчас мы готовы начать.

Установка kubelet kubeadm kubectl:

sudo apt-get update && sudo apt-get install -y apt-transport-https curl

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
	
sudo apt-get update

sudo apt-get install -y kubelet kubeadm kubectl

sudo apt-mark hold kubelet kubeadm kubectl

Инициализация кластера:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Если все успешно, то копируем kubeconfig, предварительно сохранив токен и хеш для подключения к кластеру. Токен и хеш на текущий момент должны отображаться на экране.

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Настройка сети:

sudo sysctl net.bridge.bridge-nf-call-iptables=1
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Редактируем файл kube-flannel.yml и приводим в соответствие с следующим фрагментом:

cni-conf.json: |
    {
      "name": "vxlan0",
      "plugins": [
        {
          "type": "flannel",
          "delegate": {
            "hairpinMode": true,
            "isDefaultGateway": true
          }
        },
        {
          "type": "portmap",
          "capabilities": {
            "portMappings": true
          }
        }
      ]
    }
net-conf.json: |
    {
      "Network": "10.244.0.0/16",
      "Backend": {
        "Type": "vxlan",
        "VNI" : 4096,
        "Port": 4789
      }
    }

Отправляем файл в kubernetes:

kubectl apply -f kube-flannel.yml

Осталось проверить что все работает:

kubectl get nodes -o wide

Оглавление

  1. установить Docker на Ubuntu 18.04 LTS (будет использована как мастер узел)
  2. установить Docker на Windows Server 2019 (1809) (будет использоваться как рабочий узел)
  3. установить Kubernetes на мастер узле
  4. добавить в Kubernetes узел на базе Windows Server 2019 (1809)
  5. настроить Active Directory для использования gMSA
  6. настроить Kubernetes для использования gMSA
  7. запустить Pod от имени gMSA в Kubernetes

Комментарии

  • Виталий Лещенкоавтор#

    По умолчанию master нода настраивается так, чтобы на ней не запускались посторонние pod'ы. В некоторых случаях, например, если это тестовый кластер, это может быть не удобно. Чтобы разрешить запуск pod'ов на master ноде, можно выполнить заклинание:

    kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule-
    

    Разумеется, mymasternode следует заменить на имя вашей master ноды.

  • Виталий Лещенкоавтор#

    Еще может быть полезным:

    sudo apt-get install cifs-utils nfs-common
    

Оставить комментарий могут только зарегистрированные пользователи.

Войдите на сайт или зарегистрируйтесь, чтобы оставить комментарий.