手工在Docker for mac上安裝Kubernetes


此文發布時間比較早,當前已經有更好的辦法,請參考網頁:
https://github.com/AliyunContainerService/k8s-for-docker-desktop

以下為原文

通常開發都是使用單機版的Docker環境,不太操心Docker集群的事情。
而在這種單機環境下,命令行操作Docker覺得很好用了,如果碰到解決不了的問題,還有腳本,如果說有什么事是一個腳本解決不了的。。。那就是兩個。。。 😃
久而久之,很多事情都習慣了用Docker的角度去思考,比如服務發現、負載均衡,直接使用Docker的端口映射配合HAPROXY感覺就足夠了。然后在這方面的知識也就固化在了這個點,再也沒有更新。
而實際上Kubernetes大概每三個月發出一個新版本的速度,快速的成長着。以至於感覺,還是遷到Kubernetes吧,比如看起來Kubernetes內置的service/dns/proxy配合做負載均衡,雖然也有一些詬病,但還是比自己原來的方式好用很多啊。至少即便是寫腳本,也不希望用了別人一個成熟腳本,還要自己改來改去。

Docker for Mac的Edge版本直接包含內置的Kubernetes。不過第一次安裝就碰到了麻煩,在設置中開啟Kubernetes支持之后,命令行工具kubectl很快就安裝成功,但是Kubernetes一直停留在安裝界面,看不到動作和進展。
查了查,發現又卡在了Docker映像文件的下載,Kubernetes畢竟是Google開發的工具,所以放在了Google自己的倉庫中,域名是gcr.io,在國內完全無法訪問。
因為Docker默認使用https協議,所以通常的翻牆代理直接就返回了TLS簽名錯誤,仍然不能下載。手頭又沒有好用的VPN。
好在網上有人早做過了類似的准備。搜到一個centos下安裝同樣1.92版本的Kubernetes的記錄(https://my.oschina.net/binges/blog/1615955)。
其中Kubernetes使用的幾個映像,原作者已經下載並導出tar文件,放置到了百度雲上,下載地址:https://pan.baidu.com/s/1dzQyiq,密碼:dyvi。其中還共享有一些centos用的Kubernetes軟件包,請忽略,在Mac上不需要。
把這些文件放入一個文件夾:

    etcd-amd64.tar
    k8s-dns-dnsmasq-nanny-amd64.tar
    k8s-dns-kube-dns-amd64.tar
    k8s-dns-sidecar-amd64.tar
    kube-apiserver-amd64.tar
    kube-controller-manager-amd64.tar
    kube-proxy-amd64.tar
    kube-scheduler-amd64.tar
    pause-amd64.tar

隨后執行一行腳本就可以全部導入了:

for i in `ls`;do docker load < $i ;done

導入完成后可以使用docker images查看:

docker images
REPOSITORY                                               TAG                 IMAGE ID            CREATED             SIZE
gcr.io/google_containers/kube-proxy-amd64                v1.9.2              e6754bb0a529        12 days ago         109.1 MB
gcr.io/google_containers/kube-controller-manager-amd64   v1.9.2              769d889083b6        12 days ago         137.8 MB
gcr.io/google_containers/kube-apiserver-amd64            v1.9.2              7109112be2c7        12 days ago         210.4 MB
gcr.io/google_containers/kube-scheduler-amd64            v1.9.2              2bf081517538        12 days ago         62.71 MB
gcr.io/google_containers/etcd-amd64                      3.1.11              59d36f27cceb        8 weeks ago         193.9 MB
gcr.io/google_containers/k8s-dns-sidecar-amd64           1.14.7              db76ee297b85        3 months ago        42.03 MB
gcr.io/google_containers/k8s-dns-kube-dns-amd64          1.14.7              5d049a8c4eec        3 months ago        50.27 MB
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64     1.14.7              5feec37454f4        3 months ago        40.95 MB
gcr.io/google_containers/pause-amd64                     3.0                 99e59f495ffa        21 months ago       746.9 kB

這些映像都是帶版本號標簽的,如果打算換用自己習慣的加速器或者國內鏡像使用docker pull下載,記得要加上標簽,不然因為latest標簽,會報找不到映像。
這些映像有了之后,重啟一下Docker for Mac,你會看到Docker起來之后稍等片刻,Kubernetes也跟着起來了。


免責聲明!

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



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