如何啟動mac版docker自帶的k8s


最近准備好好學習下k8s,為了圖方便,直接使用docker集成的k8s,但是網上找了一些教程但都沒能一次性成功,只好自己從頭跑一遍,順手寫個教程可以方便有類似需求的同學參考。

話不多說,直接上步驟。

 

1.下載docker

直接去官網下載即可。

由於docker官網需要fq,我使用了阿里雲的鏡像服務:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

 

2.啟動docker 

下載完docker.dmg后點擊安裝,隨后正常打開即可。並在Preference->Daemon中設置阿里雲的mirrors,docker自帶的mirror需要fq。

3.確認k8s的版本

 

打開About Docker DeskTop查看,我的k8s是 v1.10.11。

 

4.啟動k8s

如圖,勾選相關選項。這個圖是已經啟動好了,如果不能啟動會一直顯示“k8s is starting”。

 

如果一直顯示“k8s is starting....” ,需要確認下k8s依賴是否下載。使用docker images查看。

一般來說,是沒法正常啟動的。在尋求各路大神之后,找到了一種行之有效的辦法。

5.解決方案

參照:https://github.com/cookcodeblog/k8s-deploy/blob/master/kubeadm/04_pull_kubernetes_images_from_aliyun.sh

更改k8s版本為v1.10.11后生成load_images.sh文件,並執行 ./load_images.sh。

#!/bin/bash

set -e 
# Check version in https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/
# Search "Running kubeadm without an internet connection"
# For running kubeadm without an internet connection you have to pre-pull the required master images for the version of choice:
KUBE_VERSION=v1.10.11
KUBE_DASHBOARD_VERSION=v1.10.1
KUBE_PAUSE_VERSION=3.1
ETCD_VERSION=3.1.12
DNS_VERSION=1.14.8
GCR_URL=k8s.gcr.io
ALIYUN_URL=registry.cn-hangzhou.aliyuncs.com/google_containers

images=(kube-proxy-amd64:${KUBE_VERSION}
kube-scheduler-amd64:${KUBE_VERSION}
kube-controller-manager-amd64:${KUBE_VERSION}
kube-apiserver-amd64:${KUBE_VERSION}
pause-amd64:${KUBE_PAUSE_VERSION}
etcd-amd64:${ETCD_VERSION}
k8s-dns-sidecar-amd64:${DNS_VERSION}
k8s-dns-kube-dns-amd64:${DNS_VERSION}
k8s-dns-dnsmasq-nanny-amd64:${DNS_VERSION}
kubernetes-dashboard-amd64:${KUBE_DASHBOARD_VERSION}) 

for imageName in ${images[@]} ; do
docker pull $ALIYUN_URL/$imageName
docker tag $ALIYUN_URL/$imageName $GCR_URL/$imageName
docker rmi $ALIYUN_URL/$imageName
done

docker images

  

等待下載完畢后,重置k8s。k8s即可正常啟動。

 

 

6.設置 contexts(非常關鍵,一定要設置為docker-for-desktop,minikube無法連接)可參考:https://docs.docker.com/docker-for-mac/

$ kubectl config get-contexts
$ kubectl config use-context docker-for-desktop

 

7.啟動 dashboard:

啟動dashboard還需要執行

kubectl create -f https://github.com/kubernetes/dashboard/tree/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

部署成功后,我們進行啟動 proxy。

kubectl proxy

 

8.登陸dashboard

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/cluster?namespace=kube-system

 

這一步需要token:

kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}'

 

到此時,k8s已經run起來了。

k8s有點偏運維的方向,但是作為一名站在后端的開發也應該不斷學習,后續會持續更新k8s的學習記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM