Li Yi
6f867d9c75
|
5 years ago | |
---|---|---|
images | 5 years ago | |
sample | 6 years ago | |
README.md | 5 years ago | |
README_en.md | 5 years ago | |
getLatestIstio.ps1 | 6 years ago | |
images.properties | 5 years ago | |
kubernetes-dashboard.yaml | 6 years ago | |
load_images.ps1 | 6 years ago | |
load_images.sh | 5 years ago |
README_en.md
Enable Kubernetes on Docker Desktop for Mac/Windows in China
中文 | English
NOTE:
- The master branch is tested with Docker Desktop for Mac/Windows version 2.1.5.0 Edge (with Docker CE 19.03.4 and Kubernetes 1.15.5).
- If you want to use with other version, pls check version of Kubernetes,Docker -> About Docker Desktop
- For Kubernetes v1.15.4, please use the v1.15.4 branch
git checkout v1.15.4
- For Kubernetes v1.14.7, please use the v1.14.7 branch
git checkout v1.14.7
- For Kubernetes v1.14.6, please use the v1.14.6 branch
git checkout v1.14.6
- For Kubernetes v1.14.3, please use the v1.14.3 branch
git checkout v1.14.3
- For Kubernetes v1.14.1, please use the v1.14.1 branch
git checkout v1.14.1
- For Kubernetes v1.13.0, please use the v1.13.0 branch
git checkout v1.13.0
- For Kubernetes v1.10.11, please use the v1.10.11 branch
git checkout v1.10.11
- For Kubernetes v1.15.4, please use the v1.15.4 branch
Enable Kubernetes on Docker Desktop for Mac
Config registry mirror for Docker daemon with https://docker.mirrors.ustc.edu.cn
only if in China
Optional: config the CPU and memory for Kubernetes, 4GB RAM or more is suggested.
Preload Kubernetes images form Alibaba Cloud Registry Service, NOTE: you can modify the images.properties
for your own images
./load_images.sh
Enable Kubernetes in Docker for Mac, and wait a while for Kubernetes is running
Enable Kubernetes on Docker Desktop for Windows
Config registry mirror for Docker daemon with https://docker.mirrors.ustc.edu.cn
only if in China
Optional: config the CPU and memory for Kubernetes, 4GB RAM or more is suggested.
Preload Kubernetes images form Alibaba Cloud Registry Service, NOTE: you can modify the images.properties
for your own images
In Bash shell
./load_images.sh
or in PowerShell of Windows
.\load_images.ps1
NOTE: if you failed to start PowerShell scripts for security policy, please execute Set-ExecutionPolicy RemoteSigned
command in PowerShell with "Run as administrator" option.
Enable Kubernetes in Docker for Windows, and wait a while for Kubernetes is running
Config Kubernetes
Optional: switch the context to docker-desktop
(In the former version, the context is docker-for-desktop
)
kubectl config use-context docker-desktop
Verify Kubernetes installation
kubectl cluster-info
kubectl get nodes
Deploy Kubernetes dashboard
Install Kubernetes dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
or
kubectl create -f kubernetes-dashboard.yaml
Start proxy for API server
kubectl proxy
Access Kubernetes dashboard
Config Token for dashboard
For 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
For 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
Login dashboard
Choose Token, and input the output from above result
Or, choose Kubeconfig, select file from below path:
Win: %UserProfile%\.kube\config
Mac: $HOME/.kube/config
Click login, go to Kubernetes Dashboard
Install Helm
Install helm following the instruction on https://github.com/helm/helm/blob/master/docs/install.md
For Mac OS
# Use homebrew on Mac
brew install kubernetes-helm
# Install Tiller into your Kubernetes cluster
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.15.2 --skip-refresh
# update charts repo (Optional)
helm repo update
For Windows
# Use Chocolatey on Windows
# NOTE: please ensure you can access googleapis
choco install kubernetes-helm
# Install Tiller into your Kubernetes cluster
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.15.2 --skip-refresh
# update charts repo (Optional)
helm repo update
Install Istio
More details can be found in https://istio.io/docs/setup/kubernetes/
Download Istio 1.3.3 and install CLI
curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.3.3 sh -
cd istio-1.3.3/
export PATH=$PWD/bin:$PATH
Install Istio with Helm chart
# Install the istio-init chart to bootstrap all the Istio’s CRDs
helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
# Verify that all Istio CRDs were committed to the Kubernetes api-server
kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l
# Install the istio chart
helm install install/kubernetes/helm/istio --name istio --namespace istio-system
Check status of istio release
helm status istio
Enable automatic sidecar injection for default
namespace
kubectl label namespace default istio-injection=enabled
kubectl get namespace -L istio-injection
Install Book Info sample
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
Confirm application is running
```bash
export GATEWAY_URL=localhost:80
curl -o /dev/null -s -w "%{http_code}\n" http://${GATEWAY_URL}/productpage
Delete Istio
helm del --purge istio
kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system