1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Poorunga-kubeedge-tools

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Инструменты KubeEdge

Инструменты kubeedge-tools предоставляют полный пакет для офлайн-установки и скрипты для развертывания, чтобы помочь пользователям быстро создать кластер KubeEdge:

  • В значительной степени уменьшают количество шагов и упрощают процесс развертывания.
  • Поддерживают ситуации, когда узлы не могут получить доступ к внешней сети.

Текущие версии установочных пакетов

Компонент Версия Функциональность
crictl v1.20.0 Утилита командной строки для совместимости с CRI
CNI плагины v0.9.0 Набор инструментов CNI
Flannel v0.14.0 Изображение Flannel для предоставления функций контейнерной сети
Nginx Alpine Изображение Nginx для тестирования базовых функций кластера

Руководство по развертыванию KubeEdge

Введение

KubeEdgeKubeEdge — это открытая система, направленная на решение проблем в сценариях работы на краю сети. Она расширяет возможности управления контейнеризированными приложениями и устройствами до устройств на краю сети. На основе Kubernetes, KubeEdge обеспечивает основную инфраструктуру для сетевых решений, развертывания приложений и синхронизации метаданных между облачной и краевой сторонами. KubeEdge поддерживает протокол MQTT и позволяет разработчикам писать пользовательский код для активации коммуникации на устройствах с ограниченными ресурсами. KubeEdge состоит из облачной и краевой частей, обе они открыты для использования.> https://kubeedge.io/

iSulad

iSulad — это легковесный守护程序, специально разработанный для IoT и облачных инфраструктур. Он характеризуется своей легкостью, скоростью и независимостью от аппаратных спецификаций и архитектур. Это позволяет использовать iSulad в различных сценариях, включая облачные вычисления, IoT и краевые вычисления.

https://gitee.com/openeuler/iSulad

Обзор кластера

Версии компонентов

Компонент Версия
ОС 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

Развертывание k8sСледующие действия выполняются только на стороне облака.

Инициализация окружения облака

$ ./setup-cloud.sh

Ссылка на руководство по развертыванию кластера Kubernetes для развертывания k8s

Примечание: При наличии доступа к интернету у узлов облака рекомендуется использовать инструмент 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

Проверка состояния развертывания```bash

Просмотреть состояние узлов (Ready — значит нормально)

$ 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 запущен

Настройка конфигурации cloudcore

$ ./patch-cloud.sh

Проверка развертывания

# active (running) указывает на успешное выполнение
$ systemctl status cloudcore | grep running
     Active: активно (запущено) с птб 2022-03-04 10:54:30 CST; 5 мин назад

Теперь развертывание cloudcore завершено. Далее следует развернуть edgecore на крае.

Развертывание 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 запущен...

Настройка конфигурации 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 )

Вы можете оставить комментарий после Вход в систему

Введение

openEuler для Edge развертывание KubeEdge инструментов Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/Poorunga-kubeedge-tools.git
git@api.gitlife.ru:oschina-mirror/Poorunga-kubeedge-tools.git
oschina-mirror
Poorunga-kubeedge-tools
Poorunga-kubeedge-tools
master