Chinês | Inglês
ilustrar:

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.0Observação:
images.properties para indicar a versão espelhada necessária e poderá enviar a solicitação de traçãokubeadm config images list --kubernetes-version v1.30.2Configure a CPU e os recursos de memória para Kubernetes, e é recomendável alocar 4 GB ou mais de memória.

Baixe a imagem necessária para o Kubernetes do Alibaba Cloud Mirror Service
Execute o seguinte script no seu Mac
./load_images.shNo Windows, use PowerShell
.load_images.ps1ilustrar:
Set-ExecutionPolicy RemoteSigned no PowerShell "Run como administrador".images.properties Ligue o Kubernetes e aguarde o Kubernetes para começar a correr 
PONTAS :
No Mac:
Se houver um problema durante a implantação do Kubernetes, você poderá obter informações de log em tempo real através do Docker Desktop Application Log:
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 "No Windows:
Se houver um problema durante a implantação do Kubernetes, você poderá visualizar o Docker Log in Service.txt em C: ProgramData Dockerdesktop e login Log.txt sob C: Users YourUsename AppData Local Docker
Diagnóstico de problemas :
Se você vê que Kubernetes está sempre começando, consulte
rm -fr '~/Library/Group Containers/group.com.docker/pki'Método de contêiner de entrada K8S
Como entrar no K8S com vários contêineres em uma vagem
kubectl --namespace=kube-system exec -it kube-dns-1336009800-15b1h --container nginx -- sh
ou
kubectl --namespace=kube-system exec -it kube-dns-1336009800-15b1h -c nginx -- sh
Nota: --Namespace é o espaço para nome Kube -DNS é o nome da vagem, e -c ou -Container é o nome de um dos contêineres no pod
Operação Opcional: Trocar o contexto Kubernetes em execução para Docker-Desktop (a versão anterior do contexto foi o docker-for-desktop)
kubectl config use-context docker-desktopVerifique o status do cluster de Kubernetes
kubectl cluster-info
kubectl get nodeskubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yamlou
kubectl apply -f kubernetes-dashboard.yamlVerifique o status do aplicativo Kubernetes-Dashboard
kubectl get pod -n kubernetes-dashboardAtivar agente de acesso ao servidor de API
kubectl proxyAcesse o painel Kubernetes através do seguinte URL
http: // localhost: 8001/api/v1/namespaces/kubernetes-Dashboard/Services/https: Kubernetes-Dashboard:/proxy/
Autorize a conta de serviço padrão kube-system
kubectl apply -f kube-system-default.yamlPara o ambiente MAC
TOKEN= $( kubectl -n kube-system describe secret default | awk ' $1=="token:"{print $2} ' )
kubectl config set-credentials docker-desktop --token= " ${TOKEN} "
echo $TOKENPara o ambiente do Windows
$TOKEN = (( kubectl - n kube - system describe secret default | Select - String "token : ") - split " + ")[ 1 ]
kubectl config set-credentials docker-desktop --token=" ${TOKEN} "
echo $TOKEN 
Selecione um token
Digite a saída de conteúdo do console acima
Ou selecione o arquivo Kubeconfig , o caminho é o seguinte:
Mac: $HOME/.kube/config
Win: %UserProfile%.kubeconfig
Clique para fazer login e inserir o painel Kubernetes
NOTA: Se você testar o ISTIO, não precisará instalar o Ingress
Instruções de instalação de endereço de origem
verificar
kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginxImplante o aplicativo de teste, consulte o artigo da comunidade para obter detalhes
kubectl create -f sample/apple.yaml
kubectl create -f sample/banana.yaml
kubectl create -f sample/ingress.yamlAplicação de amostra de teste
$ curl -kL http://localhost/apple
apple
$ curl -kL http://localhost/banana
bananaExclua o aplicativo de amostra
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.yamlou
kubectl delete -f ingress-nginx-controller.yamlVocê pode instalar o Helm V3 de acordo com o documento https://helm.sh/docs/intro/install/ na China, uma vez que o nó CDN do Helm usa o Google Cloud, pode não estar acessível. Você pode se referir à questão oficial existente: 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 Se houver um problema de compatibilidade de versão durante a instalação subsequente de componentes usando o helm, você poderá consultar通过二进制包安装para instalar a versão correspondente
# 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 updateInstale o WordPress
helm install wordpress stable/wordpressVerifique o status de publicação do WordPress
helm status wordpressDesinstale o WordPress Publish
helm uninstall wordpressNota: o conflito padrão da porta entre o ISTIO Ingress Gateway e a Ingress. Remova a entrada e execute os seguintes testes.
O ISTIO pode ser instalado de acordo com a documentação https://istio.io/docs/setup/getting-started/
Por exemplo, baixe o ISTIO versão 1.22.1 (outras versões mais recentes podem ser substituídas por si mesmas) e executar o seguinte comando:
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.22.1 sh -
cd istio-1.22.1
export PATH= $PWD /bin: $PATHNota: O ambiente do Windows não foi rigorosamente testado.
No Windows, você pode baixar manualmente o pacote de instalação do ISTIO ou copiar getLatestIstio.ps1 para o diretório onde deseja baixar o ISTIO e executar - Nota: Modificado de acordo com o script de instalação fornecido pela comunidade
.getLatestIstio.ps1istioctl install --set profile=demo -ykubectl get pods -n istio-systemdefault kubectl label namespace default istio-injection=enabled
kubectl get namespace -L istio-injectionConsulte https://istio.io/docs/examples/bookinfo/
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yamlVer a amostra de recursos de aplicativo
kubectl get svc,podConfirme que o aplicativo de amostra está em execução
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> "Crie um gateway de entrada
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yamlExibir configuração do gateway
kubectl get gatewayConfirme que o aplicativo de amostra está acessível
export GATEWAY_URL=localhost:80
curl -s http:// ${GATEWAY_URL} /productpage | grep -o " <title>.*</title> "Pode ser acessado através do navegador
http: // localhost/productpage
samples/bookinfo/platform/kube/cleanup.shistioctl manifest generate --set profile=demo | kubectl delete -f -