Как получить доступ к кластеру k3s, созданному на виртуальной машине Azure, с общедоступным и частным IP-адресом?
Я попробовал выполнить следующие действия по настройке кластера k3s.
Вот шаги по созданию кластера K3s на виртуальной машине Azure с частными и общедоступными IP-адресами и доступу к нему со своего ноутбука с помощью kubectl:
Создайте виртуальную машину Azure с Ubuntu 20.04 LTS в качестве операционной системы. Для этого вы можете использовать портал Azure или Azure CLI. Убедитесь, что вы включили доступ по SSH и назначили виртуальной машине как частный, так и общедоступный IP-адрес. Запишите общедоступный IP-адрес виртуальной машины, который мы будем использовать позже. Более подробную информацию можно найти в этой статье.
Подключитесь к виртуальной машине по SSH, используя ее общедоступный IP-адрес и ваш ключ или пароль SSH. Для этого вы можете использовать любой SSH-клиент, например PuTTY или OpenSSH. Например, если ваш общедоступный IP-адрес — 52.183.103.99, а ваше имя пользователя — azureuser, вы можете запустить эту команду на своем ноутбуке:
ssh [адрес электронной почты защищен][электронная почта защищена]
Установите K3s на виртуальную машину, используя официальный скрипт установки. Вы можете использовать Curl или Wget для загрузки и запуска скрипта. Например, вы можете запустить эту команду на виртуальной машине:
локон -sfL https://get.k3s.io | ш -
Это установит K3s как службу systemd и запустит ее автоматически. Вы можете проверить статус службы, выполнив:
статус sudo systemctl k3s
Скопируйте файл /etc/rancher/k3s/k3s.yaml с виртуальной машины на свой ноутбук как ~/.kube/config. Этот файл содержит конфигурацию kubectl для подключения к вашему кластеру K3s. Вы можете использовать scp или rsync для копирования файла. Например, вы можете запустить эту команду на своем ноутбуке:
scp :/etc/rancher/k3s/k3s.yaml ~/.kube/config
Отредактируйте файл ~/.kube/config на своем ноутбуке и замените значение поля сервера общедоступным IP-адресом вашей виртуальной машины Azure. Например, если ваш общедоступный IP-адрес — 20.59.22.167, то поле сервера должно выглядеть следующим образом:
сервер: https://20.59.22.167:6443
Установите kubectl на свой ноутбук, если у вас его еще нет. Вы можете следовать этому руководству, чтобы установить kubectl в разных операционных системах.
Проверьте подключение к кластеру K3s, выполнив несколько команд kubectl на своем ноутбуке. Например, вы можете запустить эту команду, чтобы получить узлы вашего кластера:
kubectl получить узлы
Вы должны увидеть что-то вроде этого:
ИМЯ СТАТУС РОЛИ ВОЗРАСТ ВЕРСИЯ k3s-vm Ready control-plane,master 10m v1.22.4+k3s1
Я получаю ошибку ниже.
E0823 18:45:36.742249 20384 memcache.go:265] не удалось получить текущий список групп API сервера: получите «https://20.59.22.167:6443/api?timeout=32s»: tls: не удалось проверить сертификат: x509 : сертификат действителен для 10.43.0.1, 127.0.0.1,172.17.0.4, ::1, а не 20.59.22.167. Невозможно подключиться к серверу: tls: не удалось проверить сертификат: x509: сертификат действителен для 10.43.0.1, 127.0. .0.1,172.17.0.4, ::1, а не 20.59.22.167
20.59.22.167 — мой общедоступный IP-адрес виртуальной машины.
Шаги, которые я выполнил, перейдя по этой ссылке .
Может ли кто-нибудь дать мне пошаговый процесс создания кластера k3s на виртуальной машине Azure, который имеет как частный, так и общедоступный IP-адрес. Итак, как только я скопирую файл k3s.yaml на свой ноутбук и установлю в нем общедоступный IP-адрес, он должен работать без проблем.
1 ответ
Поскольку вы уже скопировали файл k3s.yaml с удаленного компьютера на локальный компьютер и правильно изменили ключ сервера, какserver: https://20.59.22.167:6443
Вам просто нужно добавить IP-адрес к вашему имени хоста в качестве альтернативных имен субъекта в tls-сертификате вашего сервера, чтобы сделать это, вы можете просто:
- Запустите новую оболочку от имени root
sudo -i
- после этого добавьте свое имя хоста на свой сервер, tls-сертификат k3s
k3s server --tls-san "20.59.22.167"