開啟和安裝Kubernetes k8s 基於Docker For Windows
0、最近發現,Docker For Windows Stable在Enable Kubernetes這個問題上是有Bug的,建議切換到Edge版本,並且采用下文AliyunContainerService來解決中國區網絡問題。
1、為Docker For Windows配置加速鏡像服務。
{
"registry-mirrors": [ "https://registry.docker-cn.com" ], "insecure-registries": [], "debug": true, "experimental": false }
2、為了更快的完成一些安裝,我們先通過一個阿里雲的批處理,提前把Kubernetes需要的Images拉取下來。
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git cd k8s-for-docker-desktop
.\load_images.ps1
docker images
3、如果你已經安裝好Docker For Windows,切換Settings到Kubernetes,勾選開啟項進行安裝。
4、關鍵概念
Pod
Kubernetes 中的最小單元,一個 Pod 里面可以放很多個應用,支持多容器在一個 Pod 中通過進程進行通信
Service 服務
Pod 的對外入口,需要這個才能在外部訪問 Pod
Deployment 部署
表示用戶對 Kubernetes 的一次更新操作,通過部署模板將 Pod 跟 Service 綁定
粗暴理解,用Deployment可以部署Pod,然后通過Service來暴露對Pod的訪問。
Service的三種類型
ClusterIP
一個集群內部服務,默認情況外部無法訪問,需要通過 kubectl 的代理命令轉發訪問。
NodePort
在所有節點上開放一個特定端口,將該端口的流量轉發到對應的服務,是開發時經常使用的暴露 Pod 的方法,沒有代理那么麻煩。
LoadBalancer
Kubernetes 的負載均衡,需要把你的負載均衡器(你集群的負載均衡器或雲服務商的)與它關聯起來,就可以幫你轉發流量了。
5、獲取所有的上下文。
kubectl config get-contexts
6、指定當前的上下文。
kubectl config use-context docker-for-desktop
PS: docker-ce 18.09 下 context 為 docker-desktop
7、驗證集群狀態
kubectl cluster-info kubectl get nodes
8、安裝Kubernetes Dashboard
方式一:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
方式二(從之前的k8s-for-docker-desktop進入PS):
kubectl create -f kubernetes-dashboard.yaml
9、開啟API Server訪問代理
kubectl proxy
10、打開瀏覽器訪問Kubernetes Dashboard
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
11、打開C:\Users\UserName.kube中的Config文件,找到其中的Token,從令牌進入即可。
12、正式進入試圖面板。