kubernetes 安装

安装 kubectl

https://kubernetes.io/docs/tasks/tools/install-kubectl

mac 环境可以使用 brew 安装

  1. brew install kubernetes-cli

安装 kubernetes

使用 minikube 来安装 kubernetes

mac 环境可以使用 brew cask 安装

  1. brew cask install minikube
  2. minikube start --vm-driver=hyperkit
  3. # The --vm-driver=hyperkit flag specifies that you are using Docker for Mac. The default VM driver is VirtualBox.

使用 Docker for mac 安装 kubernetes

如果之前安装过 minikube,需要将 context 切换到 docker-for-desktop 环境

  1. kubectl config get-contexts
  2. kubectl config use-context docker-for-desktop

安装 Istio

使用 Docker for mac 来安装 Istio

安装 Kubernetes dashboard

  1. kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

启动 proxy

  1. kubectl proxy

访问 kubernetes-dashboard 查看效果

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

安装 Helm

  1. brew install kubernetes-helm
  2. helm version

使用 helm 安装 istio

安装文档 https://istio.io/docs/setup/kubernetes/helm-install/

安装中可能需要科学上网,需要设置命令行代理,比如

  1. export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;

先安装 istio 模板

  1. kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml

通过 helm 来安装 istio 时默认 tracing 、kiali 、grafana 并不会开启,需要在安装时设置 —set xxx.enabled=true 进行开启,具体安装选项可以查看installation-options

  1. helm install install/kubernetes/helm/istio --name istio --namespace istio-system \
  2. --set tracing.enabled=true \
  3. --set kiali.enabled=true \
  4. --set grafana.enabled=true

开启 Jaeger 网络映射

  1. kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=jaeger -o jsonpath='{.items[0].metadata.name}') 16686:16686 &

访问 http://127.0.0.1:16686/ 查看效果

开启 Grafana 网络映射

  1. kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &

访问 http://localhost:3000/d/LJ_uJAvmk/istio-service-dashboard?refresh=10s&orgId=1 查看效果

Docker for Mac 提供了一个非常人性的功能——Reset,安装过程出了问题一切就重新开始。