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博客

相关推荐
南方以南_1 小时前
CKA07--Argo CD
运维·kubernetes·k8s
青靴4 小时前
用 Docker Compose 管理留言板多容器应用
运维·docker·容器
Radan小哥5 小时前
Docker学习笔记---day002
笔记·学习·docker
weixin_462446237 小时前
ubuntu/kali安装k8s
linux·ubuntu·kubernetes
roman_日积跬步-终至千里9 小时前
【Docker多节点部署】基于“配置即身份“理念的 Docker 多节点 StarRocks 高可用集群自动化部署方案
java·docker·微服务
piepis10 小时前
Doris Docker 完整部署指南
数据仓库·docker·doris·容器部署
sg_knight14 小时前
Docker 实战:如何限制容器的内存使用大小
java·spring boot·spring·spring cloud·docker·容器·eureka
电棍23314 小时前
在docker a100云服务器运行vulkan->sapien->robotwin的经验(报错segmentation fault)
运维·docker·容器
MichaelCoCoQ18 小时前
Zabbix监控K8S的PV卷
容器·kubernetes·负载均衡·zabbix·运维开发
似水流年 光阴已逝18 小时前
k8s中的StatefulSet 控制器
云原生·容器·kubernetes