mac本地搭建docker+k8s步骤

概览:

* kubectl安装

* minikube安装

* dashboard安装

主机配置:

* mac M2 (arm架构)

服务及版本概览:

|------------|---------|
| 服务名称 | 版本 |
| kubectl | v1.29.2 |
| Kubernetes | v1.30.0 |
| kicbase | v0.0.44 |
| dashboard | v2.7.0 |
| docker | 26.1.1 |

具体步骤:

1.kubectl安装

bash 复制代码
brew install kubectl
  • 查看版本信息
bash 复制代码
> kubectl version --client

Client Version: v1.29.2

Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3

2.minikube 安装(先本地启动docker服务,docker安装这里不详细介绍了)

minikube依赖虚拟技术环境,本地部署使用的是本机安装的docker服务,版本:26.1.1

下载对应版本的安装包并安装:

bash 复制代码
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
sudo install minikube-darwin-arm64 /usr/local/bin/minikube

启动minikube(踩坑一:minikube start命令启动会去拉起镜像,国外站点的镜像无法拉起,导致启动失败)

解决方式:先通过docker拉起kicbase镜像,启动的智慧,指定该镜像启动

bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.44

minikube delete ; minikube start --force  --base-image='registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.44'

3.Dashboard安装

踩坑二:

* minikube dashboard直接启动镜像拉起失败

* 使用helm安装也是镜像拉取失败

*https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 无法访问yaml文件地址

解决方式:

1.查看raw.githubusercontent.com ip地址:

ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名

输入raw.githubusercontent.com查询IP地址

2.修改hosts文件,把查询到的ip和域名加入到hosts文件中:

185.199.110.133 raw.githubusercontent.com

3.下载yaml文件

bash 复制代码
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

4.通过yaml文件安装dashboard

bash 复制代码
kubectl  apply -f recommended.yaml 

5.创建 Dashboard 用户

Dashboard 默认启用了令牌认证,因此您需要创建一个用户帐户来登录。首先,创建一个 YAML 文件(例如 dashboard-adminuser.yaml)

bash 复制代码
> vim dashboard-adminuser.yaml

apiVersion: v1

kind: ServiceAccount

metadata:

  name: admin-user

  namespace: kubernetes-dashboard

---

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRoleBinding

metadata:

  name: admin-user

roleRef:

  apiGroup: rbac.authorization.k8s.io

  kind: ClusterRole

  name: cluster-admin

subjects:

  - kind: ServiceAccount

    name: admin-user

    namespace: kubernetes-dashboard

执行:

bash 复制代码
kubectl apply -f dashboard-adminuser.yaml

6.启动图形化界面,成功之后会在浏览器自动打开dashboard页面:

bash 复制代码
minikube dashboard 或  minikube dashboard --alsologtostderr -v=1

7.获取令牌(创建完用户之后,没用令牌就直接进入管理页面了)

要获取登录到 Dashboard 所需的令牌,请运行以下命令:

bash 复制代码
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

最后给大家看下页面:

总结:

安装的主要问题是镜像拉取失败,或者yaml文件无法访问的原因

参考文档:

Deploy and Access the Kubernetes Dashboard | Kubernetes

https://github.com/kubernetes/dashboard/tree/master

解决GitHub的raw.githubusercontent.com无法连接问题-CSDN博客

相关推荐
哈里谢顿44 分钟前
Kubernetes中的Deployment、StatefulSet、DaemonSet详细解释
kubernetes
core5122 小时前
fastdfs快速部署、集成、调优
docker·部署·springboot·fastdfs·调用
木雷坞2 小时前
docker国内镜像源列表
运维·docker·容器
David爱编程3 小时前
网络策略NetworkPolicy与RBAC授权机制: Kubernetes安全体系的双重防线
云原生·容器·kubernetes
天上掉下来个程小白12 小时前
Docker-07.Docker基础-数据卷挂载
运维·docker·微服务·容器
迷失蒲公英13 小时前
Docker容器中文PDF生成解决方案
docker·容器·pdf
9命怪猫13 小时前
K8S服务发现原理及开发框架的配合
云原生·容器·kubernetes·服务发现
David爱编程14 小时前
理解Service的kube-proxy 实现原理
云原生·容器·kubernetes
云攀登者-望正茂15 小时前
Azure DevOps — Kubernetes 上的自托管代理 — 第 5 部分
kubernetes·azure·devops
Yolanda_202215 小时前
k8s黑马教程笔记
笔记·容器·kubernetes