Как получить доступ к кластеру 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-сертификате вашего сервера, чтобы сделать это, вы можете просто:

  1. Запустите новую оболочку от имени root
      sudo -i
  1. после этого добавьте свое имя хоста на свой сервер, tls-сертификат k3s
      k3s server --tls-san "20.59.22.167"
Другие вопросы по тегам