จีน | ภาษาอังกฤษ
ภาพประกอบ:

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กำหนดค่า CPU และทรัพยากรหน่วยความจำสำหรับ Kubernetes และขอแนะนำให้จัดสรรหน่วยความจำ 4GB หรือมากกว่า

ดาวน์โหลดภาพที่จำเป็นสำหรับ Kubernetes จากบริการ Mirror Alibaba Cloud Mirror
เรียกใช้สคริปต์ต่อไปนี้บน Mac ของคุณ
./load_images.shบน Windows ให้ใช้ PowerShell
.load_images.ps1ภาพประกอบ:
Set-ExecutionPolicy RemoteSigned ใน PowerShell "เรียกใช้เป็นผู้ดูแลระบบ"images.properties เปิด Kubernetes และรอให้ Kubernetes เริ่มวิ่ง 
เคล็ดลับ :
บน Mac:
หากมีปัญหาระหว่างการปรับใช้ Kubernetes คุณสามารถรับข้อมูลบันทึกแบบเรียลไทม์ผ่านบันทึกแอปพลิเคชันเดสก์ท็อป Docker:
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 Log ใน Service.txt ภายใต้ C: ProgramData Dockerdesktop และเข้าสู่ระบบ log.txt ภายใต้ C: users yourusername AppData local docker
การวินิจฉัยปัญหา :
หากคุณเห็นว่า Kubernetes เริ่มต้นเสมอโปรดดูที่
rm -fr '~/Library/Group Containers/group.com.docker/pki'วิธีการเข้าคอนเทนเนอร์ K8S
วิธีป้อน K8s ด้วยคอนเทนเนอร์หลายตัวในพ็อด
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
หมายเหตุ: -InMespace คือ Namespace Kube -DNS เป็นชื่อของ POD และ -C หรือ -Container เป็นชื่อของหนึ่งในคอนเทนเนอร์ใน POD
การดำเนินการทางเลือก: สลับ Kubernetes ที่ใช้บริบทเป็น Docker-Desktop (บริบทรุ่นก่อนหน้าคือ Docker-for-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/บริการ/https: kubernetes-dashboard:/proxy/
อนุญาตให้บัญชีบริการเริ่มต้น kube-system
kubectl apply -f kube-system-default.yamlสำหรับสภาพแวดล้อม MAC
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 เผยแพร่
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 -