Mac上使用Docker Desktop啟動Kubernetes,踩坑後才搞定
1 寫在前面
Kubernetes又簡稱k8s,是Google開源的容器叢集管理系統,最近也是火熱。閒來無事(為了發文),搗鼓了一下,在Mac上搭建Kubernetes,遇到一些坑,也記錄一下。
另外,Docker相關的概念可參考下面文章:Docker入門——理解Docker的核心概念。
2 問題Kubernetes is starting
2.1 卡在starting
當Mac安裝完Docker Desktop後,可以啟動Docker了,而要啟動Kubernetes,需要Enable。
本以為就如此簡單方便,誰料一直顯示Kubernetes is starting,卡了很久都沒有反應。那是由於網路原因(你懂的),啟動Kubernetes所需要的映象無法下載。
2.2 下載映象
所需映象可以手動一個個下載,當然也有人準備好了指令碼可以一鍵下載,指令碼在倉庫: 上。
將倉庫克隆下來:
$ git
clone https:
//github.com/hummerstudio/k8s-docker-desktop-for-mac.git
然後看一下檔案image_list上的版本跟自己安裝的版本能不能對得上,建議直接更新Docker Desktop為最新版本。
$ cat image_list
k8s.gcr.
io/kube-proxy:v1
.16
.5=gotok8s/kube-proxy:v1
.16
.5
k8s.gcr.
io/kube-controller-manager:v1
.16
.5=gotok8s/kube-controller-manager:v1
.16
.5
k8s.gcr.
io/kube-scheduler:v1
.16
.5=gotok8s/kube-scheduler:v1
.16
.5
k8s.gcr.
io/kube-apiserver:v1
.16
.5=gotok8s/kube-apiserver:v1
.16
.5
k8s.gcr.
io/coredns:
1.6
.2=gotok8s/coredns:
1.6
.2
k8s.gcr.
io/pause:
3.1=gotok8s/pause:
3.1
k8s.gcr.
io/etcd:
3.3
.15
-0=gotok8s/etcd:
3.3
.15
-0
k8s.gcr.
io/kubernetes-dashboard-amd64=gotok8s/kubernetes-dashboard-amd64:v1
.10
.1
同為v1.16.5版本:
沒有問題就可以執行指令碼拉取相關映象:
$ ./load_images.sh
2.3 重啟驗證
下載完成後,重啟Kubernetes,驗證 Kubernetes 叢集狀態:
$ kubectl cluster-info
$ kubectl get nodes
$ kubectl describe node
3 安裝Dashboard
Dashboard並不是必須的,它可以方便我們檢視和操作,建議還是安裝。將檔案( )下載到本地,然後執行以下命令即可:
$ kubectl apply -f recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.
io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.
io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.
io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.
io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
啟動:
$ kubectl proxy
建議使用下面命令啟動,不然會一直佔著終端:
$ nohup kubectl proxy >
/dev/
null &
啟動後可登陸訪問:
介面如下:
需要獲取Token,命令如下:
$ kubectl -n kube-system
describe secret
default| awk
'$1=="token:"{print $2}'
eyJhbGciOiJSUzI1NiIsImtpZCI6IjNiT1o4eW5ORHpkVlp6Q2VJakxMOENlZEUxSU16YmRZcHZqV3BfXzhQTm8ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLTJoNnpkIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhODk5MDkwMS1hOWE4LTQyZTAtOGMxNi1iNmQwZTY1NjgyZTEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.Oo1Sa5GcWC7SknJ_qoGgoIXyGJKIp1nB4ApZqvTsj32DcoAA4mBmo0VB_zqdmlG0x29FO132x_6I2ejOnCwZ9IRlUWBtEYsKCChZb9kUjbAA9FLyIln4AW0K3V7F1ns_YIKLYaudnkHJPWpqE2FXwTVDs-ZpGgUUk2Fs-Sw8KEFOLnHNFzi-lIajsbicmUMyKPimcv51vN-Mgc9gH-_PfvLKBL-h3vbsCep
-0xsRE2zOtsfqv9cbaVNhFaYkVvZuYzCBD1TY9v5Q5R6jPsB2IBZzEYMKw8lHGNrPzN0vrKCM_VBRSeUgzUnjAH6MLuVVWbzBmYYiOluCjuAyKf1eWA
就可以透過Token登陸了。Dashboard介面如下所示:
4 總結
至此,安裝已經完成,後面再透過一個小案例講解如何應用。注意我的電腦連了阿里雲的映象倉庫,需要設定的請自動Google。想玩k8s還有其它方式搭建環境,如Minikube,以後有機會再折騰吧。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2702320/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mac下使用Docker開啟KubernetesMacDocker
- Mac上特殊方式啟動Parallels Desktop 16.0.0 (48916)MacParallel
- Docker Desktop啟動報錯:Failed to set version to docker-desktop: exit code: -1DockerAI
- Kubernetes探針踩坑記
- docker 踩坑集錦Docker
- (踩坑記錄)關於docker run命令啟動elasticsearch自動退出問題DockerElasticsearch
- Docker Desktop 現在可以在 Linux 上使用DockerLinux
- docker canal 踩坑歷程Docker
- 使用 kind 和 Docker 啟動本地的 Kubernetes解說文件Docker
- 不借助 Docker Desktop 在Mac上開發容器應用DockerMac
- Mac上Docker的使用MacDocker
- MQTT使用踩坑MQQT
- URLEncoder使用踩坑
- Mac使用技巧:在新款mac上找回經典的開機啟動聲,一條命令輕鬆搞定Mac
- Linux/Docker 中使用 System.Drawing.Common 踩坑小計LinuxDocker
- mac 安裝nvm 踩坑Mac
- 如何在 Windows 使用 Podman Desktop 取代 Docker DesktopWindowsDocker
- Docker踩坑四個教訓 - resurfaceDocker
- 每次開機docker-desktop都啟動失敗了Docker
- 如何在Mac上使用DockerMacDocker
- [踩坑] Go Modules 使用Go
- SpringBootAdmin-使用踩坑Spring Boot
- Mac下Charles踩坑記錄Mac
- Istio 升級後踩的坑
- 避坑!用 Docker 搞定 PHP 開發環境搭建(Mac、Docker、Nginx、PHP-FPM、XDebug、PHPStorm、VSCode)DockerPHP開發環境MacNginxORMVSCode
- Windows 10 啟動 Docker Desktop 時出現 WSL 2 installation is incompleteWindowsDocker
- Weex線上踩坑實錄
- 踩坑Webuploader視訊上傳Web
- Windows安裝Docker Desktop並在WSL2整合KubernetesWindowsDocker
- Windows10的Docker Desktop使用WindowsDocker
- Mac 系統下 DNMP (docker+nginx+MySQL+PHP) 環境的配置及踩坑MacDockerNginxMySqlPHP
- 原創視訊:Win10下使用Docker安裝RabbitMQ踩坑Win10DockerMQ
- 小程式中使用 lottie 動畫 | 踩坑經驗分享動畫
- 又踩坑了!BigDecimal使用的5個坑!Decimal
- 字元驅動裝置踩坑字元
- vue中使用protobuf踩坑記Vue
- Flutter之Dialog使用和踩坑Flutter
- vue+iframe使用及踩坑Vue