Отредактировано 1 день назад от ExtremeHow Редакционная команда
KubernetesКонтейнерыДевОпсКластерыОркестрацияУправление приложениямиМасштабируемостьКонфигурацияРазвертываниеУправление сервером
Перевод обновлен 1 день назад
Kubernetes, часто называемый K8s, — это платформа с открытым исходным кодом, предназначенная для автоматизации развертывания, масштабирования и эксплуатации контейнеров приложений. Она предоставляет фреймворк, который позволяет вам гибко запускать распределенные системы. Kubernetes управляет работой, которую выполняют ваши приложения, на основе доступных ресурсов вашего кластера, оптимально распределяет нагрузку и управляет восстановлением после сбоев.
Прежде чем начать установку Kubernetes на Linux, убедитесь, что у вас есть следующие предварительные условия:
Docker — это среда выполнения, которую Kubernetes использует для управления контейнерами. Она составляет основу, на которой работает Kubernetes. Выполните следующие шаги, чтобы установить Docker на вашу систему Linux:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(lsb_release -cs) stable"
sudo apt-get update sudo apt-get install docker-ce
sudo systemctl start docker sudo systemctl enable docker
Проверьте установку Docker, проверив его версию:
docker --version
Чтобы установить Kubernetes, вам нужно добавить его официальный репозиторий в ваш менеджер пакетов:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
Три основных компонента Kubernetes — это kubelet, kubeadm и kubectl. Вот как их установить:
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
После установки Kubernetes настало время правильно настроить систему:
Kubernetes не работает, когда память Swap включена. Используйте следующее, чтобы отключить Swap на вашей системе:
sudo swapoff -a
Чтобы сделать изменение постоянным между перезагрузками, закомментируйте строку Swap в /etc/fstab
.
Убедитесь, что эти сетевые настройки настроены правильно:
net.bridge.bridge-nf-call-iptables=1
:sudo sysctl net.bridge.bridge-nf-call-iptables=1
sysctl -p
.Мы используем kubeadm
для настройки главного узла — контрольной плоскости для вашего кластера Kubernetes:
sudo kubeadm init
kubectl
. Это обычно включает:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
root
, замените $HOME
на /root
или /home/<ваше-имя-пользователя>
.Установите плагин Pod сети для обеспечения связи между podами. Вот пример использования Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Проверьте статус ваших узлов:
kubectl get nodes
Развертывание вашего первого приложения просто. Давайте развернем простой сервер 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 в вашей инфраструктуре.
Если вы найдете что-то неправильное в содержании статьи, вы можете