Инструменты kubeedge-tools предоставляют полный пакет для офлайн-установки и скрипты для развертывания, чтобы помочь пользователям быстро создать кластер KubeEdge:
Компонент | Версия | Функциональность |
---|---|---|
crictl | v1.20.0 | Утилита командной строки для совместимости с CRI |
CNI плагины | v0.9.0 | Набор инструментов CNI |
Flannel | v0.14.0 | Изображение Flannel для предоставления функций контейнерной сети |
Nginx | Alpine | Изображение Nginx для тестирования базовых функций кластера |
iSulad — это легковесный守护程序, специально разработанный для IoT и облачных инфраструктур. Он характеризуется своей легкостью, скоростью и независимостью от аппаратных спецификаций и архитектур. Это позволяет использовать iSulad в различных сценариях, включая облачные вычисления, IoT и краевые вычисления.
Компонент | Версия |
---|---|
ОС | openEuler 21.09 |
Kubernetes | 1.20.2-4 |
iSulad | 2.0.9-20210625.165022.git5a088d9c |
KubeEdge | v1.8.0 |
Имя узла | Расположение | Компоненты |
---|---|---|
cloud.kubeedge | Облачная сторона (cloud) | k8s (master), isulad, cloudcore |
edge.kubeedge | Краевая сторона (edge) | isulad, edgecore |
Примечание: Имена узлов облачной и краевой сторон можно предварительно установить с помощью команды
hostnamectl set-hostname [cloud,edge].kubeedge
Инструменты kubeedge-tools предоставляют полный набор для офлайн-установки и скриптов для развертывания, что снижает сложность развертывания и обеспечивает быстрое создание кластера KubeEdge при отсутствии доступа к интернету у узлов.
# Загрузите пакет инструментов kubeedge-tools и распакуйте его (включая облако и краевые узлы)
$ wget -O kubeedge-tools.zip https://gitee.com/Poorunga/kubeedge-tools/repository/archive/master.zip
$ unzip kubeedge-tools.zip
# Перейдите в каталог пакета инструментов kubeedge-tools (все последующие действия выполняются из этого каталога)
$ cd kubeedge-tools-master
$ ./setup-cloud.sh
Примечание: При наличии доступа к интернету у узлов облака рекомендуется использовать инструмент
kubeadm
для развертывания k8s, пример:
$ kubeadm init --apiserver-advertise-address=IP_облака --kubernetes-version v1.20.11 --pod-network-cidr=10.244.0.0/16 --upload-certs --cri-socket=/var/run/isulad.sock
...
Ваше окружение управления Kubernetes успешно инициализировано!
...
# После успешной установки k8s вам следует скопировать указанные файлы в указанные директории:
# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config
Существует множество CNI-инструментов, таких как Flannel, Calico, Cilium, которые могут обеспечивать функцию сети контейнеров для узлов k8s. Если вы не уверены, какой CNI-инструмент выбрать, вы можете использовать следующую команду для установки сети контейнеров на стороне облака:
$ ./install-flannel-cloud.sh
$ kubectl get nodes NAME STATUS ROLES AGE VERSION cloud.kubeedge Ready control-plane,master 12m v1.20.2
$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-74ff55c5b-4ptkh 1/1 Running 0 15m
coredns-74ff55c5b-zqx5n 1/1 Running 0 15m
etcd-cloud.kubeedge 1/1 Running 0 15m
kube-apiserver-cloud.kubeedge 1/1 Running 0 15m
kube-controller-manager-cloud.kubeedge 1/1 Running 0 15m
kube-flannel-cloud-ds-lvh4n 1/1 Running 0 13m
kube-proxy-2tcnn 1/1 Running 0 15m
kube-scheduler-cloud.kubeedge 1/1 Running 0 15m
```## Развертывание### Развертывание cloudcore
Далее приведены действия, выполняемые только с облака.
#### Инициализация кластера
```bash
# --advertise-address заполните IP-адресом хоста облака
$ keadm init --advertise-address="IP_облака" --kubeedge-version=1.8.0
...
CloudCore запущен
$ ./patch-cloud.sh
# active (running) указывает на успешное выполнение
$ systemctl status cloudcore | grep running
Active: активно (запущено) с птб 2022-03-04 10:54:30 CST; 5 мин назад
Теперь развертывание cloudcore завершено. Далее следует развернуть edgecore на крае.
Далее приведены команды, выполняемые только на крае, если не указано иное.
$ ./setup-edge.sh
# Команда keadm gettoken должна выполняться с облака
$ keadm gettoken
96058ab80ffbeb87fe58a79bfb19ea13f9a5a6c3076a17c00f80f01b406b4f7c.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY0NDg4NzF9.1mJegWB7SUVjgf-OvAqILgbZXeMHR9eOzMxpNFc42SI
# Сохраните значение этого токена для последующего использования
# Команда keadm join должна выполняться на крае
# --cloudcore-ipport заполните IP-адресом хоста облака:10000, --token заполните значением токена выше
$ keadm join --cloudcore-ipport=IP_облака:10000 --kubeedge-version=1.8.0 --token=96058ab80ffbeb87fe58a79bfb19ea13f9a5a6c3076a17c00f80f01b406b4f7c.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY0NDg4NzF9.1mJegWB7SUVjgf-OvAqILgbZXeMHR9eOzMxpNFc42SI
...
KubeEdge edgecore запущен...
$ ./patch-edge.sh
```#### Установка сети контейнеров на крае
Если вы ещё не определились с выбором CNI-компонента, используйте следующую команду для установки сети контейнеров на крае:
```bash
# Следующая команда должна выполняться с облака
$ ./install-flannel-edge.sh
# Следующая команда должна выполняться с облака (отображает наличие краевых узлов)
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
cloud.kubeedge Ready control-plane,master 1ч v1.20.2
edge.kubeedge Ready agent,edge 10м v1.19.3-kubeedge-v1.8.0
Теперь развертывание KubeEdge завершено. Далее мы проведём тестирование развертывания приложений с облака на крае.
Далее приведены команды, выполняемые с облака.#### Развертывание Nginx
$ kubectl apply -f yamls/nginx-deployment.yaml
deployment.apps/nginx-deployment created
# Проверьте, был ли приложение развернуто на крае (Running — значит всё в порядке)
$ kubectl get pod -owide | grep nginx
nginx-deployment-84b99f4bf-jb6sz 1/1 Running 0 30s 10.244.1.2 edge.kubeedge <none> <none>
# Войдите на узел края и выполните запрос к приложению Nginx
$ curl 10.244.1.2:80
<!DOCTYPE html>
<html>
<head>
<title>Добро пожаловать в Nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Добро пожаловать в Nginx!</h1>
<p>Если вы видите эту страницу, то веб-сервер Nginx успешно установлен и работает. Однако требуется дальнейшая конфигурация.</p>
</body>
</html>
```<p>Для получения онлайн-документации и поддержки обратитесь к <a href="http://nginx.org/">nginx.org</a>.<br/>
Коммерческая поддержка доступна на сайте <a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Спасибо за использование Nginx.</em></p>
</body>
</html>
На этом этапе весь процесс развертывания KubeEdge завершен.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )