Cloud Native | Онлайн-платформа для бесплатных тренировок K8s
Cloud Native | Онлайн-платформа для бесплатных тренировок K8s

@ Семь Во Страниц

Обучение никогда не заканчивается, рекорды всегда сопровождают вас! —— Люли Канкан

Технология обучения требует знакомства,Это должно практиковаться на основе теории.,чтобы углубить впечатление,Перед использованием предоставлен доступКак создать виртуальную машину с помощью VMWare и установить K3s для экспериментов,Недавно я обнаружил онлайн-платформу для тренировок по k8s под названием Play. with Kubernetes — хорошая новость для тех, кто хочет экспериментировать с K8, несмотря на ограниченность среды или ресурсов.

Введение в игру с Kubernetes

Play with Kubernetes — это Docker, который имитирует эффект нескольких виртуальных машин с помощью технологии Docker-in-Docker (DinD), тем самым предоставляя бесплатный способ использования CentOS в браузере. Интерфейс виртуальной машины Linux и платформа взаимодействия, Play with KubernetesЕсть несколько преимуществ:недостаток:

преимущество
  • Бесплатная пробная версия: 4 часа пробного времени после каждой Авторизоваться,Вы можете проводить любые эксперименты, какие захотите;
  • Среда K8s использует kubeadm для прямого развертывания (с помощью weave сеть);
  • Платформа предоставляет нам в общей сложности 5 устройств Centos7 (версия докера — 24.0.2), что означает, что можно создать 5 виртуальных узлов;
  • K8s — тоже относительно новая версия, версия 1.27.2;
  • Непосредственное подключение к Интернету, yaml, который необходимо применить, или загруженное изображение загружается непосредственно с официального сайта, и это внешняя сеть.
недостаток
  • Для проверки oauth можно использовать только учетные записи github или docker, поэтому сначала вам необходимо иметь учетную запись docker или github;
  • По истечении каждого 4-часового сеанса k8s необходимо снова построить с 0;
  • Потому что он используется в браузере,Не все взаимодействия хороши,Например, копировать вставку в Windows больше не является обычным сочетанием клавиш Ctrl+C и Ctrl+V (за ней будет следовать «Как скопировать и вставить»);
  • Максимум можно создать только 5 виртуальных машина, то есть можно построить только один мастер+4 5-узлового кластера рабочего, конечно, достаточно для опыта.

В целом, Play with Kubernetes — это хорошая бесплатная платформа, которой вполне достаточно для ежедневного изучения, понимания и практики основных концепций.

Вот как его использовать.

Как скопировать и вставить

Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты.,Ранее я говорил, что вы не можете использовать обычные Ctrl+C и Ctrl+V для вставки во время использования.,Итак, сначалапредставлять Вниз Как скопировать и вставить。

@ Семь Во Страниц

MAC-компьютер

После входа в систему, если это компьютер Mac, вы увидите в настройках, что он будет распознан автоматически. Если он не распознан, вы можете выбрать «Mac OSX», скопировать и вставить ключи следующим образом:

  • копировать:Commandключ+C
  • Вставить: клавиша Command + V.
компьютер с Windows

Если это не компьютер Mac, а система Windows, то после входа в систему в настройках распознается «Нет». В настоящее время копирование и вставка выполняются следующим образом:

Если у вас есть клавиша Fn, вам нужно включить функцию Fn, то есть загорится маленькая лампочка на клавише Fn:

  • Клавиша Ctrl + клавиша Fn + клавиша Insert (клавиша F10)
  • Клавиша Shift + клавиша Fn + клавиша Insert (клавиша F10)

Чтобы включить функцию Fn, сначала нажмите fn, а затем быстро нажмите левую клавишу Shift, чтобы включить режим fn (функции):

@ Семь Во Страниц

Если нет клавиши Fn:

  • Ctrl+Вставка
  • Клавиша Shift + клавиша Insert

Как использовать Play с Kubernetes

Далее идет основной текст Как использовать Play с Кубернетес.

Откройте сайт https://labs.play-with-k8s.com/.,Выберите использованиеGithubилиDockerпрыгать послеOauthпроверять Авторизоваться。

@ Семь Во Страниц

Создать экземпляр

Авторизоваться Первое, что нужно сделать дальшеAdd New InstanceсоздатьNode,Вы можете создать несколько узлов в соответствии с вашими потребностями.,Максимум 5:

@ Семь Во Страниц

@ Семь Во Страниц

Инициализируйте главный узел кластера

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

  1. Инициализируйте главный узел K8s;
  2. Инициализируйте сеть K8s;

Команда для инициализации главного узла K8s выглядит следующим образом:

Язык кода:javascript
копировать
#### Проведите пальцем влево или вправо, никаких изменений не требуется.
kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16

Процесс запуска главного узла выглядит следующим образом:

Следует отметить, что это отмечено на рисунке выше. В настоящее время статус Node — NotReady, а POD coreDNS также находится в состоянии ожидания. Причина в том, что нет сетевого плагина. необходимо выполнить второй шаг: инициализировать сеть K8s. Команда выглядит следующим образом:

Язык кода:javascript
копировать
#### Проведите пальцем влево или вправо, никаких изменений не требуется.
kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml

Результаты установки следующие. После установки сетевого плагина Node через некоторое время будет готов, и все POD также будут готовы:

Регистрация работника в мастере

Если были созданы другие узлы, выполните следующую команду непосредственно на узле, отличном от главного. Эта команда предназначена для установки K8s. masterузелlogвjoinЗаказ,Токен будет меняться каждый раз,Поэтому не копируйте приведенный ниже пример напрямую:

Язык кода:javascript
копировать
#### Слайд влево или вправо
kubeadm join 192.168.0.18:6443 --token 1g5gfn.agqd0wf4cbv2hbyf \
        --discovery-token-ca-cert-hash sha256:eac1d72af79f6b3da5e69ee44cd1e3f46c3de52f90f4ef448655daefadf5669d 

Процесс выглядит следующим образом:

затем вернитесь кMasterузелбегатьkubectl get nodeможно увидетьnode2Уже присоединилсякластер Понятно:

Но вы увидите, что роль работника отсутствует. Чтобы четко понять роль каждого узла, вы можете обозначить его:

Язык кода:javascript
копировать
###Слайд влево или вправо
kubectl label nodes <node name> kubernetes.io/role=worker

или для цикла
for i in `kubectl get nodes -o wide --no-headers | grep -iv "control-plane" | awk '{print $1}'`;do kubectl label nodes $i kubernetes.io/role=worker;done

Эффект следующий:

Вы можете продолжить добавление второго рабочего узла в кластер. На этом создание небольшого кластера K8s с одним Master и двумя Worker завершено.

@ Семь Во Страниц

Создать экземпляр Nginx

Ngnixкакоблачный роднойграницаhello worldчасто используетсяпроверятькластер Легко ли его использовать?,Поэтому мы продолжаем использовать Nginx, чтобы проверить, легко ли использовать основные функции Cluster:

Язык кода:javascript
копировать
####Слайд влево или вправо
kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml

Результат следующий:

Проверятьserviceможно использовать позжеcurl cluster-ipчтобы подтвердитьnginxбизнес Легко ли его использовать?,Если вы видите что-то вроде ВнизизThank you for using nginxпредставлятьnginxбизнес нормальный:

Вышеописанное представляет собой использованиеPlay with Kubernetesпроцесс,После использования в целом, разве что приклеить хлопотнее.,Иногда будут лаги,В целом, его очень удобно использовать.,Это хорошая среда для первого контакта с K8 или для простой проверки и обучения.,Конечно, 4 часа за раз.,Если то, что вы хотите проверить, не было завершено,Тогда пришло время начать снова,Обновление копии занимает несколько секунд!

Выше, пожалуйста, оставьте сообщение, чтобы узнать больше о совместном изучении ИКТ!

boy illustration
На основе языка Go мы шаг за шагом научим вас внедрять структуру системы управления серверной частью.
boy illustration
Эффективное управление журналами с помощью Spring Boot и Log4j2: подробное объяснение конфигурации
boy illustration
Что делать, если telnet не является внутренней или внешней командой [легко понять]
boy illustration
php-объект для анализа json_php json
boy illustration
Введение в принцип запуска Springboot, процесс запуска и механизм запуска.
boy illustration
Высокоуровневые операции Mongo, если данные не существуют, вставка и обновление, если они существуют (pymongo)
boy illustration
Проектирование и внедрение системы управления электронной коммерцией на базе Vue и SpringBoot.
boy illustration
Статья длиной в 9000 слов знакомит вас с процессом запуска SpringBoot — самым подробным процессом запуска SpringBoot в истории — с изображениями и текстом.
boy illustration
Как настроить размер экрана в PR. Учебное пособие по настройке размера видео в PR [подробное объяснение]
boy illustration
Элегантный и мощный: упростите операции ElasticSearch с помощью easy-es
boy illustration
Проект аутентификации по микросервисному токену: концепция и практика
boy illustration
【Java】Решено: org.springframework.http.converter.HttpMessageNotWritableException.
boy illustration
Изучите Kimi Smart Assistant: как использовать сверхдлинный текст, чтобы открыть новую сферу эффективной обработки информации
boy illustration
Начало работы с Docker: использование томов данных и монтирования файлов для хранения и совместного использования данных
boy illustration
Использование Python для реализации автоматической публикации статей в публичном аккаунте WeChat
boy illustration
Разберитесь в механизме и принципах взаимодействия потребителя и брокера Kafka в одной статье.
boy illustration
Spring Boot — использование Resilience4j-Circuitbreaker для реализации режима автоматического выключателя_предотвращения каскадных сбоев
boy illustration
13. Springboot интегрирует Protobuf
boy illustration
Примечание. Инструмент управления батареями Dell Dell Power Manager
boy illustration
Общая интерпретация класса LocalDate [java]
boy illustration
[Базовые знания ASP.NET Core] -- Веб-API -- Создание и настройка веб-API (1)
boy illustration
Настоящий бой! Подключите Passkey к своему веб-сайту для безопасного входа в систему без пароля.
boy illustration
Руководство по настройке Nginx: как найти, интерпретировать и оптимизировать настройки Nginx в Linux
boy illustration
Typecho отображает использование памяти сервера
boy illustration
Как вставить элемент перед указанным ключом в ассоциативный массив в PHP
boy illustration
swagger2 экспортирует API как текстовый документ (реализация Java) [легко понять]
boy illustration
Выбор фреймворка nodejs Express koa egg MidwayJS сравнение NestJS
boy illustration
Руководство по загрузке, установке и использованию SVN «Рекомендуемая коллекция»
boy illustration
Интерфейс PHPforwarding_php отправляет запрос на получение
boy illustration
Создавайте и защищайте связь в реальном времени с помощью SignalR и Azure Active Directory.