WindowsMacПрограммное обес..НастройкиБезопасностьПродуктивностьЛинуксАндроид (Androi.. Все

Введение в Kubernetes

Отредактировано 1 день назад от ExtremeHow Редакционная команда

KubernetesКонтейнерыДевОпсКластерыОркестрацияУправление приложениямиМасштабируемостьКонфигурацияРазвертываниеУправление сервером

Введение в Kubernetes

Перевод обновлен 1 день назад

Kubernetes, часто называемый K8s, — это платформа с открытым исходным кодом, предназначенная для автоматизации развертывания, масштабирования и эксплуатации контейнеров приложений. Она предоставляет фреймворк, который позволяет вам гибко запускать распределенные системы. Kubernetes управляет работой, которую выполняют ваши приложения, на основе доступных ресурсов вашего кластера, оптимально распределяет нагрузку и управляет восстановлением после сбоев.

Предварительные условия

Прежде чем начать установку Kubernetes на Linux, убедитесь, что у вас есть следующие предварительные условия:

Настройка Docker

Docker — это среда выполнения, которую Kubernetes использует для управления контейнерами. Она составляет основу, на которой работает Kubernetes. Выполните следующие шаги, чтобы установить Docker на вашу систему Linux:

  1. Сначала обновите список пакетов:
  2. sudo apt-get update
  3. Установите необходимые предварительные пакеты для Docker:
  4. sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  5. Добавьте ключ GPG Docker для обеспечения подлинности пакетов Docker:
  6. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  7. Добавьте репозиторий Docker в ваш список источников:
  8. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(lsb_release -cs) stable"
  9. Повторно обновите базу данных пакетов и установите Docker:
  10. sudo apt-get update sudo apt-get install docker-ce
  11. Убедитесь, что Docker запущен:
  12. sudo systemctl start docker sudo systemctl enable docker

Проверьте установку Docker, проверив его версию:

docker --version

Установка компонентов Kubernetes

Шаг 1: Добавление репозиториев Kubernetes

Чтобы установить Kubernetes, вам нужно добавить его официальный репозиторий в ваш менеджер пакетов:

  1. Импортируйте открытый ключ GPG Google Cloud:
  2. curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
  3. Добавьте репозиторий Kubernetes в список источников:
  4. echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

Шаг 2: Установка kubelet, kubeadm и kubectl

Три основных компонента Kubernetes — это kubelet, kubeadm и kubectl. Вот как их установить:

  1. Обновите список пакетов:
  2. sudo apt-get update
  3. Установите компоненты:
  4. sudo apt-get install -y kubelet kubeadm kubectl
  5. Предотвратите автоматическое обновление пакетов, зафиксировав их версии:
  6. sudo apt-mark hold kubelet kubeadm kubectl

Настройка Kubernetes

После установки Kubernetes настало время правильно настроить систему:

Шаг 3: Отключение памяти Swap

Kubernetes не работает, когда память Swap включена. Используйте следующее, чтобы отключить Swap на вашей системе:

sudo swapoff -a

Чтобы сделать изменение постоянным между перезагрузками, закомментируйте строку Swap в /etc/fstab.

Шаг 4: Настройки сети

Убедитесь, что эти сетевые настройки настроены правильно:

  1. Включите пересылку IP, установив net.bridge.bridge-nf-call-iptables=1:
  2. sudo sysctl net.bridge.bridge-nf-call-iptables=1
  3. Проверьте настройки, запустив sysctl -p.

Шаг 5: Инициализация Kubernetes с помощью kubeadm

Мы используем kubeadm для настройки главного узла — контрольной плоскости для вашего кластера Kubernetes:

  1. Запустите kubeadm init для инициализации вашей среды:
  2. sudo kubeadm init
  3. Следуйте инструкциям вывода для настройки конфигурации kubectl. Это обычно включает:
  4. mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
  5. Если используете root, замените $HOME на /root или /home/<ваше-имя-пользователя>.

Шаг 6: Настройка Pod сети

Установите плагин Pod сети для обеспечения связи между podами. Вот пример использования Flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Проверьте статус ваших узлов:

kubectl get nodes

Управление вашим кластером Kubernetes

Шаг 7: Развертывание приложения

Развертывание вашего первого приложения просто. Давайте развернем простой сервер nginx:

kubectl run nginx --image=nginx --port=80

Чтобы сделать развертывание доступным как сервис, доступный снаружи кластера:

kubectl expose deployment nginx --type=NodePort

Получите сведения о вашем развертывании и сервисе:

kubectl get deployments kubectl get services

NodePort сервиса предоставит вам порт для доступа к серверу nginx, которым можно воспользоваться, указав IP-адрес вашего сервера и данный порт.

Масштабирование приложений

Одним из значительных преимуществ Kubernetes является его способность легко масштабировать приложения. Если ваш сервер nginx должен справляться с большей нагрузкой, вы можете его масштабировать:

kubectl scale deployment nginx --replicas=3

Проверка статуса:

kubectl get pods -o wide

Очистка

После изучения возможностей Kubernetes вы можете захотеть очистить демонстрационную среду:

kubectl delete service nginx kubectl delete deployment nginx

Заключение

С помощью этого руководства вы начали установку и использование Kubernetes на Linux. Эта настройка дает вам базовое понимание Kubernetes, сосредотачиваясь на основных компонентах, таких как kubeadm, kubelet, и возможности развертывания и управления простыми приложениями. Отсюда вы можете изучать более сложные концепции Kubernetes, методы настройки и управления, чтобы использовать всю мощь Kubernetes в вашей инфраструктуре.

Если вы найдете что-то неправильное в содержании статьи, вы можете


Комментарии