侧边栏壁纸
博主头像
银河小徐博主等级

A Good Boy ⛵️⛵️⛵️

  • 累计撰写 42 篇文章
  • 累计创建 39 个标签
  • 累计收到 10 条评论

目 录CONTENT

文章目录

Mac上使用Docker Desktop启动Kubernetes教程

银河小徐
2021-08-27 / 0 评论 / 10 点赞 / 102 阅读 / 1,615 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-06-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

Kubernetes 又简称 k8s,是 Google 开源的一款容器编排工具,备受业界关注。今天捣鼓了一下在 Mac 上搭建 Kubernetes,遇到了一些坑,记录一下。

问题 Kubernetes is starting

卡在 starting

当 Mac 安装完 Docker Desktop 后,就可以启动 Docker 了,而要启动 Kubernetes,需要在配置中开启 Enable 选项,本以为开启之后就行了,结果一直显示 Kubernetes is starting,卡了半天没反应。由于国内网络原因,导致启动 Kubernetes 所需要的镜像无法下载,所以我们得另寻路子。

启动Kubernetes

配置 Docker 代理

docker代理

{
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}

下载镜像

所需镜像可以手动一个个下载,当然也有人准备好了脚本可以一键下载,脚本仓库地址:https://github.com/maguowei/k8s-docker-desktop-for-mac

将仓库克隆下来:

git clone https://github.com/maguowei/k8s-docker-desktop-for-mac.git

然后看一下文件 images 上的版本是否跟自己安装的一致。

image版本

同为 v1.19.7 版本:

kubernetes版本

没有问题就可以执行脚本拉取相关镜像:

sh ./load_images.sh

重启验证

下载完成后,重启 Kubernetes,验证 Kubernetes 集群状态:

kubectl cluster-info
kubectl get nodes
kubectl describe node

安装 Dashboard

Dashboard 并不是必须的,但是它可以方便我们查看和操作,建议还是安装,执行以下命令进行安装。

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml

启动

kubectl proxy

推荐使用下面命令启动,不然会一直占着终端:

kubectl proxy >/dev/null &

创建 Dashboard 管理员用户并获取 Token

1、创建 ServiceAccount kubernetes-dashboard-admin 并绑定集群管理员权限

kubectl apply -f https://raw.githubusercontent.com/gotok8s/gotok8s/master/dashboard-admin.yaml

2、获取登陆 token

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep kubernetes-dashboard-admin | awk "'{print $1}'")

验证登陆

通过下面的连接访问 Dashboard:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

界面如下:

kubernetes登陆界面

输入刚刚获取的 token, 验证并登陆。

登陆成功后的界面:

kubernetes登陆成功界面

总结

至此,利用 Docker Desktop 搭建 Kubernetes 环境就完成啦。搭建 k8s 环境还有其他的方式,比如 Minikube 等,后期有时间再折腾吧。

10

评论区