k3s
Официальный сайт:www.rancher.cn/k3s/
k3s — это дистрибутив Kubernetes, сертифицированный CNCF и предназначенный для Интернета вещей и периферийных вычислений.
K3s требует только монтирования ядра и контрольной группы. Зависимости, требуемые пакетом K3s, включают:
- containerd
- Flannel
- CoreDNS
- CNI
- Хост-утилиты (iptables, socat и т.д.)
- Входной контроллер (Traefik)
- Встроенный балансировщик нагрузки службы
- Встроенный контроллер сетевой политики
Почему он называется k3s
Цитирую официальный сайт
Мы хотим, чтобы наша установка Kubernetes была вдвое меньше с точки зрения занимаемой памяти. Kubernetes — это слово из 10 букв, сокращенно K8s. Итак, что-то вдвое меньшее, чем Kubernetes, — это слово из 5 букв, сокращенно K3s. K3s не имеет полного имени и официального произношения.
Установка в одной точке
# 一键安装
curl -sLS https://get.k3sup.dev | sh -
Выполняя только одну команду, как указано выше, разворачивается набор всех в одном одноузловом окружении k3s.По сравнению с k8s нет необходимости устанавливать следующие компоненты:
- kubelet
- kube-proxy
- Docker
- etcd
- вход, с nginx
Применимая сцена
- Edge Computing-Edge
- Интернет вещей — Интернет вещей
- CI
- Development
- ARM
- Встроить K8s
Принцип работы
место хранения
локальное хранилище
k3s удалено k8s встроеноcloud provider
так же какstorage
Плагины (разумеется, это не влияет на использование внешних плагинов, устанавливаемых вручную), встроенныеLocal Path Provider
.
плагин внешнего хранилища longhorn
Может быть решено с помощью плагина внешнего хранилищаk3s
проблема с хранением
Адрес гитхаба:GitHub.com/longhorn/…
Longhorn
Легкий, надежный и мощный. можно использоватьkubectl apply
командовать или использоватьHelm charts
в существующихKubernetes
Установите Longhorn на кластер. После установки Longhorn в кластеры Kubernetes будет добавлена поддержка постоянных томов.
Интернет
По умолчанию K3s запускается сFlannel
в видеCNI
беги, используйVXLAN
в качестве бэкенда по умолчанию.
Flannel
Бэкэнд по умолчанию для Flannel:VXLAN
.
Флаг и значение CLI | описывать |
---|---|
--flannel-backend=vxlan (По умолчанию) |
Используйте серверную часть VXLAN. |
--flannel-backend=ipsec |
Сетевой трафик шифруется с помощью серверной части IPSEC. |
--flannel-backend=host-gw |
Используйте серверную часть host-gw. |
--flannel-backend=wireguard |
Сетевой трафик шифруется с помощью бэкенда WireGuard. Могут потребоваться дополнительные модули ядра и конфигурация. |
k3s в дополнение к встроенномуFlannel
Помимо сетевых плагинов, есть еще и встроенныеCoreDNS、Traefik Ingress Controller、Service Load Balancer
, если вы не используете компоненты по умолчанию, пользователи также могут сами развертывать другие компоненты, например, используяMetalLB
заменить встроенныйload balancer
.
Traefik
современныйHTTP
Обратный прокси-сервер и балансировщик нагрузки созданы для простого развертывания микросервисов. Это упрощает сложность сети при проектировании, развертывании и запуске приложений.
k8s
Kubernetes, также известный какk8s
(Первая буква — k, между первой и последней буквой — 8 символов, а последняя буква — s, поэтому для краткости k8s) или для краткости «kube» — это платформа с открытым исходным кодом, которая может автоматически внедрять контейнер Linux. операции.
Термины, связанные с Kubernetes
Как и в других технологиях, в Kubernetes также используется некоторая специализированная лексика, которая может создавать определенные препятствия для понимания и освоения технологии новичками. Чтобы помочь вам понять Kubernetes, мы объясним некоторые общие термины ниже.
- Хозяин (Мастер): компьютер, используемый для управления узлами Kubernetes. Все назначения задач берутся отсюда.
- Узел: Компьютер, ответственный за выполнение запроса и назначенных задач. Узлы контролируются хостом Kubernetes.
- Набор контейнеров (Pod): группа контейнеров, развернутая на одном узле и содержащая один или несколько контейнеров. Все контейнеры в одном наборе контейнеров используют один и тот же IP-адрес, IPC, имя хоста и другие ресурсы. Набор контейнеров абстрагирует сеть и хранилище от базовых контейнеров. Это упрощает перемещение контейнеров по кластеру.
- Контроллер репликации: используется для управления количеством реплик одного и того же набора контейнеров, которые должны работать где-то в кластере.
- Услуга: отделяет рабочий контент от наборов контейнеров. Прокси-сервер службы Kubernetes будет автоматически отправлять запросы на обслуживание в правильный набор контейнеров — независимо от того, где в кластере набор контейнеров перемещен или даже заменен.
-
Kubelet: служба, работающая на узле, которая может читать манифест контейнера (
container manifest
), чтобы убедиться, что указанный контейнер запущен и работает. - kubectl: Инструмент настройки командной строки для Kubernetes.
Рекомендуемое чтение
Это особенное. IO/this/docs/con…
k3s vs k8s
Сравнение функций
- Удалите устаревшие функции, альфа-функции, функции не по умолчанию, которые больше не доступны в большинстве кластеров Kubernetes.
- Удалите встроенные плагины (такие как плагины облачных провайдеров и плагины хранилища) и замените их внешними плагинами. По умолчанию K3s запускает только два приложения, помимо собственного процесса: coredns и traefik.
- Добавьте SQLite3 в качестве хранилища данных по умолчанию. etcd3 по-прежнему доступен, но не по умолчанию.
- Контейнер выполнения по умолчанию изменен с docker на containerd.
- Обернутый в простой лаунчер, который обрабатывает множество сложных TLS и опций.
k9s
k9s — это полноэкранный инструмент управления пользовательским интерфейсом терминала на основе curses, который может взаимодействовать с кластерами Kubernetes, наблюдать за системными ресурсами, переключаться между различными ресурсами, контрольными списками, журналами, отслеживать события и выполнять поды и т. д., занимая большое количество терминалов. стекла
Адрес гитхаба:GitHub.com/derailed/can 9…
Общие команды
# List all available CLI options
$ k9s help
# To get info about K9s runtime (logs, configs, etc..)
$ k9s info
# To run K9s in a given namespace
$ k9s -n mycoolns
# Start K9s in an existing KubeConfig context
$ k9s --context coolCtx
# Start K9s in readonly mode - with all modification commands disabled
$ k9s --readonly