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

OSCHINA-MIRROR/rancher-k3s

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

K3s - Легковесный Kubernetes

FOSSA Статус Ночной CI Статус сборки Объем охвата интеграционных тестов Объем охвата модульных тестов Лучшие практики OpenSSF Оценка OpenSSF Scorecard Релизы CLOMonitor

Легковесный Kubernetes. Готов к использованию в производственных условиях, прост в установке, занимает в два раза меньше памяти, при этом размер бинарного файла менее 100 МБ.

Отлично подходит для:

  • Работы на краях сети
  • IoT
  • CI
  • Разработки
  • ARM
  • Интеграции k8s
  • Ситуаций, когда наличие докторской степени по кластерологии Kubernetes неосуществимо

Что это такое? ---K3s это полностью соответствующая производственная версия Kubernetes с распределением, включающая следующие изменения:1. Упакован в виде единого бинарного файла.

  1. Поддерживает SQLite3 в качестве стандартного хранилища данных. Также поддерживаются Etcd3, MariaDB, MySQL и Postgres.
  2. Оборачивает Kubernetes и другие компоненты в единую, простую запускающую среду.
  3. По умолчанию безопасен и имеет разумные настройки по умолчанию для легковесных сред.
  4. Минимизирует зависимости от ОС (требуются только разумное ядро и монтирование cgroup).
  5. Устраняет необходимость открытия порта на узлах Kubernetes для API kubelet, открывая этот API для узлов управления Kubernetes через туннель WebSocket. K3s объединяет следующие технологии в одну целостную дистрибутивную систему:
  • Containerd & runc
  • Flannel для CNI
  • CoreDNS
  • Metrics Server
  • Traefik для ingress
  • Klipper-lb как поставщик встроенных служб для балансировки нагрузки
  • Kube-router контроллер netpol для управления политиками сети
  • Helm-controller для развертывания манифестов Helm с использованием CRD
  • Kine как шим для хранилища данных, который позволяет заменить etcd другими базами данных
  • Local-path-provisioner для выделения томов с использованием локального хранилища
  • Утилиты хоста такие как iptables/nftables, ebtables, ethtool, & socatЭти технологии могут быть отключены или заменены на технологии вашего выбора.

Кроме того, K3s упрощает операции Kubernetes, поддерживая функциональность для:

  • Управления TLS-сертификатами компонентов Kubernetes
  • Управления соединениями между узлами-работниками и узлами-серверами
  • Автоматического развертывания ресурсов Kubernetes из локальных манифестов в реальном времени при изменении
  • Управления встроенным кластером etcd

Что означает название?

Мы хотели установку Kubernetes, которая занимает вдвое меньше места по памяти. Kubernetes — это слово из 10 букв, стилизованное как k8s. Поэтому что-то вдвое меньшее, чем Kubernetes, будет словом из 5 букв, стилизованном как K3s. Буква '3' также является буквой '8', разделенной вертикально. Нет долгой формы для K3s, и нет официального произношения.Это форк? ---------Нет, это дистрибутив. Форк подразумевает продолжительное отклонение от оригинала. Это не является целью или практикой K3s. K3s явно не стремится изменять любую основную функциональность Kubernetes. Мы стремимся оставаться как можно ближе к исходному Kubernetes. Однако мы поддерживаем небольшое количество патчей (менее 1000 строк), важных для сценариев использования и модели развертывания K3s. Мы также поддерживаем патчи для других компонентов. Когда это возможно, мы возвращаем эти изменения в исходные проекты, например, с поддержкой SELinux в containerd. Это распространенная практика среди дистрибутивов программного обеспечения. K3s — это дистрибутив, так как он упаковывает дополнительные компоненты и службы, необходимые для полнофункционального кластера, которые выходят за рамки базового Kubernetes. Это предпочтительные выборы технологий для компонентов, таких как ingress, класс хранилища, политика сети, балансировщик нагрузки для сервисов и даже контейнерного runtime. Эти выборы и технологии подробно рассматриваются в разделе Что это такое?.Как K3s легче по сравнению с основным Kubernetes?

Существует два основных способа, которыми K3s легче по сравнению с основным Kubernetes:

  1. Размер памяти для его запуска меньше.
  2. Бинарник, содержащий все необходимые для запуска кластера не-контейнеризированные компоненты, меньше.

Размер памяти уменьшен главным образом за счет запуска многих компонентов внутри одного процесса. Это уменьшает значительные издержки, которые в противном случае были бы дублированы для каждого компонента.

Размер бинарника уменьшен за счет удаления сторонних драйверов хранения и провайдеров облачных сервисов, что подробно объясняется ниже.

Что вы убрали из основного Kubernetes?

Это часто вызывает путаницу, так как это менялось со временем. Ранние версии K3s удаляли гораздо больше, чем текущая версия. В настоящее время K3s удаляет два вещи:

  1. Встроенные драйверы хранения.
  2. Встроенные провайдеры облачных сервисов.

Оба этих компонента имеют альтернативы вне основного Kubernetes в виде CSI и CCM, которые работают в K3s и к которым основной Kubernetes стремится.Мы удаляем эти компоненты для достижения меньшего размера бинарника. Это можно сделать, оставаясь совместимым, так как ни один из них не влияет на основные функции Kubernetes. Они также зависят от сторонних облачных или централизованных технологий/услуг, которые могут не быть доступны во многих сценариях использования K3s.Начало работы

Комьюнити

  • Slack

Присоединяйтесь к Slack для общения с разработчиками K3s и другими пользователями K3s. Отличное место для обучения и задания вопросов: #k3s и #k3s-contributor и #k3s канал в CNCF Slack

  • Вовлечение в проект

GitHub Issues - Отправляйте свои проблемы и запросы на новые функции через GitHub.

  • Собрания сообщества и часы работы

Комьюнити разработчиков K3s собирается на Zoom для обсуждений. Всем привет!

Добавьте календарь Linux Foundation iCal в свой календарь:

  • AMS/EMEA TZ 10:00 am PST - каждое второе вторник месяца
  • EMEA/APAC TimeZone friendly - каждое третье вторник месяца

Протоколы и агенды собраний: https://hackmd.io/@k3s/meet-notes/

Записи собраний: Канал K3s

Вы можете также проверить полные детали на сайте: https://k3s.io/community

Что дальше?

Просмотрите наш план действий, чтобы узнать, что мы планируем делать дальше.

Частота выпусков

K3s поддерживает темп выпусков upstream Kubernetes. Наша цель - выпускать патч-версии в течение одной недели, а новые минорные версии - в течение 30 дней.Наша версионная нумерация отражает версию upstream Kubernetes. Например, выпуск K3s v1.27.4+k3s1 соответствует выпуску Kubernetes v1.27.4. Мы добавляем постфикс в виде +k3s<number>, чтобы иметь возможность выпускать дополнительные версии с той же версией upstream Kubernetes, оставаясь при этом совместимыми с semver. Например, если мы обнаружим критический баг в v1.27.4+k3s1 и будем нуждаться в немедленном исправлении, мы выпустим v1.27.4+k3s2.

Документация

Полная документация доступна на официальном сайте документации.

Быстрый старт - скрипт установки

Скрипт install.sh предоставляет удобный способ загрузки K3s и добавления сервиса в systemd или openrc.

Чтобы установить k3s как сервис, выполните:

curl -sfL https://get.k3s.io | sh -

Файл kubeconfig записывается в /etc/rancher/k3s/k3s.yaml, и сервис автоматически запускается или перезапускается. Скрипт установки установит K3s и дополнительные утилиты, такие как kubectl, crictl, k3s-killall.sh, и k3s-uninstall.sh, например:

sudo kubectl get nodes

Переменная окружения K3S_TOKEN создается в /var/lib/rancher/k3s/server/node-token на вашем сервере. Чтобы установить на узлах-работниках, передайте K3S_URL вместе с K3S_TOKEN переменными окружения, например:

curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -

Ручная загрузка

  1. Скачайте k3s с последнего релиза, поддерживаются x86_64, armhf, arm64 и s390x.
  2. Запустите сервер.```bash sudo k3s server &

Kubeconfig записывается в /etc/rancher/k3s/k3s.yaml

sudo k3s kubectl get nodes

На другом узле выполните следующую команду. NODE_TOKEN берется из

/var/lib/rancher/k3s/server/node-token на вашем сервере

sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}


Участие
--------

Если вы заинтересованы в участии в проекте K3s, пожалуйста, ознакомьтесь с нашим [руководством по участию](CONTRIBUTING.md).

Безопасность
------------

Проблемы безопасности в K3s можно сообщить, отправив письмо на [security@k3s.io](mailto:security@k3s.io).
Пожалуйста, не создавайте проблемы о проблемах безопасности.

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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