Китайский | Английский
иллюстрировать:

git checkout v1.30.2git checkout v1.29.2git checkout v1.29.1git checkout v1.28.2git checkout v1.27.2git checkout v1.25.9git checkout v1.25.4git checkout v1.25.2git checkout v1.25.0git checkout v1.24.2git checkout v1.24.0Примечание:
images.properties , чтобы указать необходимую версию зеркала, и вы можете отправить запрос на вытягиваниеkubeadm config images list --kubernetes-version v1.30.2Настройте ресурсы процессора и памяти для Kubernetes, и рекомендуется выделить 4 ГБ или более памяти.

Загрузите изображение, необходимое для Kubernetes из службы Alibaba Cloud Mirror
Выполните следующий скрипт на вашем Mac
./load_images.shВ Windows используйте PowerShell
.load_images.ps1иллюстрировать:
Set-ExecutionPolicy RemoteSigned в PowerShell «запустить как администратор».images.properties Включите 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 "В окнах:
Если возникает проблема во время развертывания Kubernetes, вы можете просмотреть вход Docker in service.txt в рамках C: ProgramData dockerdesktop и войти в систему в log.txt в рамках C: users yourusername appdata local docker
Диагностика проблем :
Если вы видите, что kubernetes всегда начинается, пожалуйста, обратитесь к
rm -fr '~/Library/Group Containers/group.com.docker/pki'Метод контейнера ввода K8S
Как войти в K8 с несколькими контейнерами в стручке
kubectl --namespace=kube-system exec -it kube-dns-1336009800-15b1h --container nginx -- sh
или
kubectl --namespace=kube-system exec -it kube-dns-1336009800-15b1h -c nginx -- sh
Примечание.
Необязательная операция: переключите контекст Kubernetes, работающий на Docker-Desktop (предыдущая версия контекста была Docker для Desktop)
kubectl config use-context docker-desktopПроверьте статус кластера Kubernetes
kubectl cluster-info
kubectl get nodeskubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yamlили
kubectl apply -f kubernetes-dashboard.yamlПроверьте состояние приложения Kubernetes-Dashboard
kubectl get pod -n kubernetes-dashboardВключить агент доступа к серверу API
kubectl proxyДоступ к панели управления Kubernetes через следующий URL -адрес
http: // localhost: 8001/api/v1/namespaces/kubernetes-dashboard/services/https: kubernetes-dashboard:/proxy/
Авторизовать учетную запись службы по умолчанию kube-system
kubectl apply -f kube-system-default.yamlДля Mac Environment
TOKEN= $( kubectl -n kube-system describe secret default | awk ' $1=="token:"{print $2} ' )
kubectl config set-credentials docker-desktop --token= " ${TOKEN} "
echo $TOKENДля среды Windows
$TOKEN = (( kubectl - n kube - system describe secret default | Select - String "token : ") - split " + ")[ 1 ]
kubectl config set-credentials docker-desktop --token=" ${TOKEN} "
echo $TOKEN 
Выберите токен
Введите вывод содержимого из консоли выше
Или выберите файл kubeconfig , путь следующим образом:
Mac: $HOME/.kube/config
Win: %UserProfile%.kubeconfig
Нажмите, чтобы войти в систему и введите панель инструментов Kubernetes
Примечание. Если вы тестируете ISTIO, вам не нужно устанавливать Ingress
Инструкции по установке адреса источника
проверять
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.yamlkubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yamlили
kubectl delete -f ingress-nginx-controller.yamlВы можете установить Helm V3 в соответствии с документом https://helm.sh/docs/intro/install/ в Китае, поскольку узлом CDN Helm использует Google Cloud, он может быть недоступен. Вы можете обратиться к существующему официальному вопросу: Helm/Helm#7028
# Use homebrew on Mac
brew install helm
# Add helm repo
helm repo add stable http://mirror.azure.cn/kubernetes/charts/
# Update charts repo
helm repo update Если есть проблема совместимости версии во время последующей установки компонентов с использованием Helm, вы можете обратиться通过二进制包安装для установки соответствующей версии
# Use Chocolatey on Windows
# 注:安装的时候需要保证网络能够访问googleapis这个域名
choco install kubernetes-helm
# Change helm repo
helm repo add stable http://mirror.azure.cn/kubernetes/charts/
# Update charts repo
helm repo updateУстановите WordPress
helm install wordpress stable/wordpressПроверьте статус публикации WordPress
helm status wordpressУдаление WordPress Publish
helm uninstall wordpressПримечание. Конфликт порта по умолчанию между шлюзом Istio Ingress и Ingress. Пожалуйста, удалите Ingress и выполните следующие тесты.
ISTIO может быть установлен в соответствии с документацией https://istio.io/docs/setup/getting-started/
Например, загрузите версию ISTIO 1.22.1 (другие новые версии могут быть заменены самим собой) и выполнить следующую команду:
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.22.1 sh -
cd istio-1.22.1
export PATH= $PWD /bin: $PATHПримечание: среда Windows не была тщательно протестирована.
В Windows вы можете вручную загрузить пакет установки ISTIO или скопировать getLatestIstio.ps1 в каталог, где вы хотите загрузить iStio и выполнить - Примечание: изменено в соответствии с сценарием установки, предоставленным сообществом
.getLatestIstio.ps1istioctl install --set profile=demo -ykubectl get pods -n istio-systemdefault kubectl label namespace default istio-injection=enabled
kubectl get namespace -L istio-injectionПожалуйста, обратитесь к https://istio.io/docs/examples/bookinfo/
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yamlПросмотреть образцы ресурсов приложения
kubectl get svc,podПодтвердите, что приложение пример работает
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> "Создать шлюз входа
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yamlПросмотр конфигурации шлюза
kubectl get gatewayУбедитесь, что применение приложения доступно
export GATEWAY_URL=localhost:80
curl -s http:// ${GATEWAY_URL} /productpage | grep -o " <title>.*</title> "Можно получить доступ через браузер
http: // localhost/productpage
samples/bookinfo/platform/kube/cleanup.shistioctl manifest generate --set profile=demo | kubectl delete -f -