Я недавно осваиваю k8s, но установка k8s слишком хлопотна и занимает много времени.Поговорим о шагах установки. Ниже приведена конфигурация моей машины.На самом деле можно использовать и 2 ядра и 4G,но так как я хочу изучить kubeSphere требования к конфигурации высокие.Я тоже потратил на это много времени.Я буду записывать процесс обучения. Надеюсь, ты посмотришь, поставь лайк, кодировать слова непросто, чем больше смотришь, тем сильнее ты становишься.
Шаг 1. Измените имя хоста (необязательно)
Если во время установки и использования k8s возникает следующая ошибка, вам необходимо изменить имя хоста:
name: Invalid value: "k8s_master": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for
validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
Если имя хоста неверно, выполните следующую команду, чтобы изменить имя хоста.
Шаг 3. Установите кластер k8s с одним главным узлом.
Меры предосторожности:
Выполнить на машине master-k8s от имени root
При инициализации главного узла, если вы хотите повторно инициализировать главный узел из-за ошибок конфигурации на некоторых промежуточных шагах, выполнитеkubeadm resetдействовать
Сегмент сети, используемый POD_SUBNET, не может пересекаться с сегментом сети, в котором расположен главный узел/рабочий узел. Значение этого поля является значением CIDR. Если вы не знакомы с концепцией CIDR, не изменяйте значение этого поля. 10.100.0.1/20
Выполните следующие команды только на узле master-k8s.
доступныйkubeadm joinКоманды и параметры, как показано на рисунке
Выполнить на других рабочих узлах (то есть node1, 2, 3 в первом изображении ecs)kubeadm joinКоманды и параметры, как показано на рисунке нижеВ этот момент перейдите к узлу master-k8s, чтобы выполнитьkubectl get nodes -o wideВы можете видеть, что новый узел присоединился
Шаг 5 - Установите helm (подготовка kubeSphere)
Выполните следующую команду
wget https://get.helm.sh/helm-v2.16.0-linux-amd64.tar.gz
tar zxvf helm-v2.16.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/
helm version
воплощать в жизньhelm versionВы видите, что клиент установлен, но сервер не установлен.
Создайте секрет для сертификата ЦС кластера Kubernetes.
Примечание. Создайте в соответствии с текущими путями сертификатов ca.crt и ca.key кластера (путь сертификата для Kubeadm для создания кластера обычно /etc/kubernetes/pki)
Просмотрите узел узла, к которому принадлежит модуль в указанном пространстве имен.
kubectl get pods -n istio-system -o wide
# 查看dev下的pod
kubectl get pods -n dev
## 查看pod xxx的yaml文件
kubectl get pods -n dev xxx -o yaml
# 获取namespace 为dev 的pod详情
kubectl get pods -n dev -o wide
# 创建pod
kubectl apply -f xxx.yaml
# 显示node的labeal
kubectl get nodes --show-labels
# 查看 namespace为dev下的pod详情
kubectl describe pods -n dev [podName]
## 查看node节点详情
kubectl describe nodes [nodeName] -o wide
столкнуться со статусом какContainerCreating, вы можете выполнить его на узле, где находится соответствующий podjournalctl -fПросмотр состояния образа или контейнера в режиме реального времени