Запустите Kubernetes с Docker Desktop в macOS

Kubernetes
Запустите Kubernetes с Docker Desktop в macOS

Установить Докер

скачатьDocker DesktopСледуйте инструкциям по установке.

Установите Кубернетес

Щелкните значок Docker, выберитеPreferences... > KubernetesВойдите на страницу конфигурации Kubernetes:

Kubernetes 配置页

затем отметьтеEnable Kubernetes, нажмите нижеApplyКнопка для запуска Kubernetes.

Шагаем в яму 1: Kubernetes запускается

Готово? Часто дела идут не так хорошо. По известным причинам образы, необходимые для запуска Kubernetes, часто не загружаются, поэтому нажмитеApply, в правом нижнем углу страницы конфигурации всегда отображаетсяKubernetes is starting, не может нормально запуститься.

Docker Desktop для Mac запускается и использует Kubernetesпредлагает решение этой проблемы.

Давайте сначала вытащим репозиторий на локальный:

git clone git@github.com:maguowei/k8s-docker-desktop-for-mac.git

Затем подтвердите версию Kubernetes, поставляемую с Docker Desktop. Щелкните значок Docker, выберитеAbout Docker Desktop, см. следующий интерфейс:

About Docker Desktop

Вы можете видеть, что версия Kubernetes — v1.14.6.

Затем открываем k8s-docker-desktop-for-mac Под проектомimagesдокумент:

$ cat images
k8s.gcr.io/kube-proxy:v1.14.6=gotok8s/kube-proxy:v1.14.6
k8s.gcr.io/kube-controller-manager:v1.14.6=gotok8s/kube-controller-manager:v1.14.6
k8s.gcr.io/kube-scheduler:v1.14.6=gotok8s/kube-scheduler:v1.14.6
k8s.gcr.io/kube-apiserver:v1.14.6=gotok8s/kube-apiserver:v1.14.6
k8s.gcr.io/coredns:1.3.1=gotok8s/coredns:1.3.1
k8s.gcr.io/pause:3.1=gotok8s/pause:3.1
k8s.gcr.io/etcd:3.3.10=gotok8s/etcd:3.3.10

Убедившись, что номер версии Kubernetes в файле совпадает с номером версии Kubernetes, поставляемым с Docker Desktop, выполните команду:

./load_images.sh

Эта команда поможет нам получить все образы, необходимые для запуска Kubernetes. После выполнения команды щелкните значок Docker вPreferences.. > ResetНажмите в интерфейсеReset Kubernetes cluster, перезапустите Kubernetes. Готово!

Наступая на яму 2: неожиданный EOF

Произошла ошибка при выполнении команды kubectl:

Unable to connect to the server: unexpected EOF

Я нашел связанную проблему на Github:Kubernetes on Mac is stuck very often. Needs restart all the time.

Окончательное решениеAdvancedинтерфейс конфигурацииMemoryВключите его, затем перезапустите Docker.

Advanced

Переключение кластеров Kubernetes

Поскольку кластеров может быть несколько, нам нужно переключить кластер на кластер, созданный Docker Desktop.

Давайте посмотрим на кластеры:

kubectl config get-contexts

Кластеры коммутаторов:

kubectl config use-context docker-for-desktop

Установить информационную панель

Kubernetes Dashboardэто панель инструментов для визуализации кластера Kubernetes.

Вообще говоря, мы можем установить его напрямую через строку команды kubectl:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

Но по известным причинам изображение по-прежнему не загружается, и модуль всегда показываетImagePullBackOff. Это требует от нас ручного извлечения необходимых изображений.

скачать yaml-файл

Сначала загрузите файл конфигурации yaml:

$ curl -O https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

Посмотреть версию изображения

Проверьте версию изображения в файле yaml:

$ cat kubernetes-dashboard.yaml | grep kubernetes-dashboard

Вот информация, которая нам нужна:

- name: kubernetes-dashboard
  image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

Вы можете видеть, что версия образа v1.10.1.

вытащить изображение

использоватьdocker pullВручную вытащите образ:

$ docker pull gcrxio/kubernetes-dashboard-amd64:v1.10.1

использоватьdocker tagИзмените имя образа, чтобы оно совпадало с именем образа в файле конфигурации:

$ docker tag gcrxio/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

Таким образом, образ, требуемый файлом конфигурации, загружается локально.

Изменить политику получения изображений

Однако, поскольку метод зеркалирования файла конфигурации по умолчанию по-прежнему извлекается с удаленного компьютера, нам необходимо добавить его в файл конфигурации.image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1Добавить после строки:

imagePullPolicy: IfNotPresent

Переустановить панель мониторинга

Если вы только что выполнили:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

Затем сначала удалите запущенный модуль:

$ kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

Затем переустановите Dashboard с измененным файлом конфигурации:

$ kubectl delete -f kubernetes-dashboard.yaml

Запустите Dashboard и получите доступ

Запустите Dashboard командой kubectl:

$ kubectl proxy

После успешного запуска к Dashboard можно получить доступ по этому адресу:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

Для входа в Dashboard требуется токен, который можно получить с помощью следующей команды:

$ kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}'

Dashboard

использованная литература


Добро пожаловать, чтобы обратить внимание на мой общедоступный номер:программирование для спасения мира. Вместе путешествуйте по миру программирования и развивайтесь вместе!