1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/AliyunContainerService-k8s-for-docker-desktop

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 13 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 16.03.2025 08:19 2fb28a8

Включение Kubernetes в Docker Desktop для Mac/Windows

Русский | English

Описание:* Необходимо установить последнюю версию Docker Desktop для Mac или Windows. Если его нет, можно скачать последнюю версию Docker Community Edition (Docker CE).

  • Текущий основной ветви был протестирован в версиях Docker for Mac/Windows 2.1.5.0 Edge (включающий Docker CE 19.03.4 и Kubernetes 1.15.5).
  • Для тестирования других версий проверьте версию Docker Desktop: Docker -> О Docker Desktop обратная связь
    • Например, если версия Kubernetes — v1.15.4, используйте следующую команду для перехода на ветку v1.15.4: git checkout v1.15.4.
    • Если версия Kubernetes — v1.14.7, используйте следующую команду для перехода на ветку v1.14.7: git checkout v1.14.7.
    • Если версия Kubernetes — v1.14.6, используйте следующую команду для перехода на ветку v1.14.6: git checkout v1.14.6.
    • Если версия Kubernetes — v1.14.3, используйте следующую команду для перехода на ветку v1.14.3: git checkout v1.14.3.
    • Если версия Kubernetes — v1.14.1, используйте следующую команду для перехода на ветку v1.14.1: git checkout v1.14.1.
    • Если версия Kubernetes — v1.13.0, используйте следующую команду для перехода на ветку v1.13.0: git checkout v1.13.0.
    • Если версия Kubernetes — v1.10.11, используйте следующую команду для перехода на ветку v1.10.11: git checkout v1.10.11.### Включение Kubernetes

Настройка ускоренной загрузки образов для Docker daemon, см. сервис ускоренной загрузки образов от Alibaba Cloud или адрес ускоренной загрузки образов от Университета Циндао https://docker.mirrors.ustc.edu.cn.

зеркало

Необязательные действия: Настройка выделенного количества процессорных ядер и памяти для Kubernetes, рекомендуется выделить 4 ГБ или больше памяти.

ресурс

Предварительная загрузка необходимых образов Kubernetes через сервис Docker-образов Alibaba Cloud. Это можно сделать путём изменения файла images.properties для загрузки нужных вам образов. На Mac выполните следующий скрипт

./load_images.sh

На Windows используйте PowerShell

.\load_images.ps1

Примечание: если из-за политик безопасности вы не можете запустить PowerShell-скрипты, выполните команду Set-ExecutionPolicy RemoteSigned в PowerShell с правами администратора.

Запустите Kubernetes и подождите его старта.

Запустите Kubernetes и подождите его старта.

СОВЕТЫ:

На Mac:

Если возникают проблемы при развертывании Kubernetes, вы можете получить актуальные логи через Docker Desktop:

pred='process matches ".*(ocker|vpnkit).*" || (process in {"taskgated-helper", "launchservicesd", "kernel"} && eventMessage contains[c] "docker")'
/usr/bin/log stream --style syslog --level=debug --color=always --predicate "$pred"

На Windows:Если возникают проблемы при развертывании Kubernetes, вы можете просмотреть логи Docker в файле service.txt, расположенном по пути C:\ProgramData\DockerDesktop;

Если Kubernetes постоянно находится в процессе старта, обратитесь к Issue 3769(comment) и Issue 1962(comment).### Настройка Kubernetes

Необязательная операция: переключение контекста Kubernetes на docker-desktop (ранее использовался контекст docker-for-desktop).

kubectl config use-context docker-desktop

Проверьте состояние кластера Kubernetes

kubectl cluster-info
kubectl get nodes

Настройка консоли управления Kubernetes

Развертывание панели управления Kubernetes

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

или

kubectl create -f kubernetes-dashboard.yaml

Запустите прокси-сервер для доступа к API серверу

kubectl proxy

Доступ к панели управления Kubernetes осуществляется по следующему URL:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default

Настройка токена доступа к консоли управления

Для среды Mac

TOKEN=$(kubectl -n kube-system describe secret default | awk '$1=="token:" {print $2}')
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN

Для среды Windows

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN

Войти в dashboard

ресурс

Выберите токен

Введите содержимое, полученное выше в консоли

Или выберите файл Kubeconfig, путь следующий:

Mac: $HOME/.kube/config
Win: %UserProfile%\.kube\config

Нажмите кнопку входа, чтобы войти в Kubernetes Dashboard

Настройка Ingress

Примечание: если вы тестируете Istio, установка Ingress не требуется.

Установка Ingress```shell

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml


Проверка

```shell
kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx

Пример тестового приложения

Запустите тестовое приложение, подробнее см. статью сообщества.

kubectl create -f sample/apple.yaml
kubectl create -f sample/banana.yaml
kubectl create -f sample/ingress.yaml

Тестирование примера приложения

$ curl -kL http://localhost/apple
apple
$ curl -kL http://localhost/banana
banana

Удаление примера приложения

kubectl delete -f sample/apple.yaml
kubectl delete -f sample/banana.yaml
kubectl delete -f sample/ingress.yaml

Удаление Ingress

kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml
kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml

Установка Helm

См. документацию для установки Helm v3 https://helm.sh/docs/intro/install/

Установка на Mac OS

Через brew
# Используйте homebrew на Mac
brew install helm

# Добавьте репозиторий Helm
helm repo add stable http://mirror.azure.cn/kubernetes/charts/

# Обновите репозиторий чартов
helm repo update

Установка на Windows

Если возникают проблемы с совместимостью версий при использовании Helm для установки компонентов, можно использовать подход установки через бинарный пакет для установки соответствующей версии.```shell

Использование Chocolatey в Windows

Примечание: При установке необходимо обеспечить доступ к домену googleapis

choco install kubernetes-helm

helm repo add stable http://mirror.azure.cn/kubernetes/charts/

# Обновление репозитория чартов
helm repo update

Тестирование Helm (необязательно)

Установка WordPress

helm install wordpress stable/wordpress

Просмотр состояния установки WordPress

helm status wordpress

Удаление установки WordPress

helm uninstall wordpress

Настройка Istio

Примечание: конфликт портов между Istio Ingress Gateway и Ingress. Удалите Ingress перед выполнением тестов.

См. документацию по установке Istio здесь.

Скачивание Istio 1.4.0

curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.4.0 sh -
cd istio-1.4.0
export PATH=$PWD/bin:$PATH

На Windows вы можете скачать пакет установки Istio вручную или скопировать getLatestIstio.ps1 в директорию, где хотите его установить, и запустить — примечание: модифицировано согласно инсталляционному сценарию сообщества

.\getLatestIstio.ps1

Установка Istio

istioctl manifest apply --set profile=demo

Проверка состояния Istio

kubectl get pods -n istio-system

Включение автоматической стороны Carter для пространства имён default

kubectl label namespace default istio-injection=enabled
kubectl get namespace -L istio-injection

Установка примера Book Info

Для получения информации см. здесь

kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml

Просмотр установленных ресурсов

kubectl get svc,pods
```Подтверждение работы примера приложения

```shell
kubectl exec -it $(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}') -c ratings -- curl productpage:9080/productpage | grep -o "<title>.*</title>"

Создание Ingress Gateway

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml

Просмотр конфигурации Gateway

kubectl get gateway

Подтверждение доступности примера приложения

export GATEWAY_URL=localhost:80
curl -s http://${GATEWAY_URL}/productpage | grep -o "<title>.*</title>"

Вы можете также получить доступ через браузер


#### Удаление экземпляра приложения

```shell
samples/bookinfo/platform/kube/cleanup.sh

Деинсталляция Istio

istioctl manifest generate --set profile=demo | kubectl delete -f -

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/AliyunContainerService-k8s-for-docker-desktop.git
git@api.gitlife.ru:oschina-mirror/AliyunContainerService-k8s-for-docker-desktop.git
oschina-mirror
AliyunContainerService-k8s-for-docker-desktop
AliyunContainerService-k8s-for-docker-desktop
master