在 MacOS 下安装 Kubernetes
Kubernetes 是一个开源的容器编排平台,旨在自动化应用容器的部署、扩展和管理。对于开发者和运维人员来说,能够在本地搭建一个 Kubernetes 集群进行测试和开发能更方便的使用和了解容器环境。
安装前的准备
在开始安装 Kubernetes 之前,确保你的 MacOS 系统满足以下要求:
- MacOS 10.12 或更高版本
- 至少 4 GB RAM(推荐 8 GB 或更多)
- 至少 1 GB 的空闲磁盘空间
安装 Docker Desktop
为了在 Mac 上运行 Kubernetes,最简单的方式是使用 Docker Desktop,它不仅可以帮助你管理 Docker 容器,还内置了 Kubernetes 集群的支持。
步骤 1:下载 Docker Desktop
访问 Docker 官网下载 Docker Desktop for Mac:Docker Desktop 下载。
步骤 2:安装 Docker Desktop
下载完成后,双击 .dmg
文件并将 Docker 拖到应用程序文件夹中。安装完成后,打开 Docker Desktop 应用。
步骤 3:启动 Docker
启动 Docker Desktop,系统会提示你进行初次设置。完成后,你可以通过顶部菜单栏的 Docker 图标查看 Docker 的状态。
启用 Kubernetes
Docker Desktop 已经集成了 Kubernetes,可以通过 Docker Desktop 来启用并运行一个本地的 Kubernetes 集群。
步骤 4:启用 Kubernetes
- 打开 Docker Desktop。
- 点击右上角的 Settings(设置)图标。
- 选择 Kubernetes 标签页。
- 勾选 Enable Kubernetes,然后点击 Apply & Restart 按钮。
Docker 会下载并启动一个本地的 Kubernetes 集群,这个过程可能需要几分钟。
步骤 5:确认 Kubernetes 启动
Kubernetes 启动后,你可以通过 Docker Desktop 上的 Kubernetes 状态来确认是否成功启动。通常,Docker Desktop 会显示“Kubernetes is running”的状态。我为了模拟真实的环境,使用了两个节点的方式
安装 kubectl
kubectl
是 Kubernetes 的命令行工具,用于管理 Kubernetes 集群。通常,在 Docker Desktop 启动 Kubernetes 后,kubectl
会自动安装并配置好,但如果需要手动安装,下面是相关步骤。
步骤 6:安装 kubectl
-
使用 Homebrew 安装 kubectl
如果你尚未安装 Homebrew,可以通过以下命令来安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
然后安装
kubectl
:brew install kubectl
-
检查 kubectl 版本
安装完成后,运行以下命令验证
kubectl
是否安装成功:kubectl version --client
这将输出
kubectl
客户端的版本信息,确保它已经成功安装。
使用 Kubernetes
步骤 7:验证 Kubernetes 集群状态
你可以使用以下命令检查 Kubernetes 集群的状态:
kubectl cluster-info
如果集群正常运行,你将看到 Kubernetes 控制平面和 DNS 服务的相关信息。
步骤 8:检查集群节点
运行以下命令查看集群中的节点(Node)状态:
kubectl get nodes
这将显示集群中所有节点的详细信息,包括节点的状态、版本和角色等。
步骤 9:运行一个简单的 Pod
现在,你可以通过 Kubernetes 部署一些简单的应用来测试集群。例如,运行一个基于 nginx
的 Pod:
kubectl run nginx --image=nginx --restart=Never
这个命令会创建一个名为 nginx
的 Pod,并在其中运行 nginx
镜像。你可以通过以下命令查看 Pod 状态:
kubectl get pods
步骤 10:访问应用
为了访问运行在 Kubernetes 中的应用,你需要创建一个 Service,将外部流量路由到相应的 Pod。创建一个 nginx
的 Service:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 8080
targetPort: 8080
type: LoadBalancer
注意可以根据情况调整端口,以防端口占用。应用该 Service:
kubectl apply -f nginx-service.yaml
通过以下命令检查 Service 状态:
kubectl get services
如果 Service 配置正确,你就可以通过指定的端口访问 nginx
应用。
Kubernetes Dashboard
Kubernetes Dashboard 是一个 Web 界面,可以帮助你更直观地管理集群资源。如果你想启用 Dashboard,可以按照以下步骤操作:
步骤 11:启用 Kubernetes Dashboard
- 首先,使用 安装 Dashboard:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
kubectl proxy
官网使用的是helm
-
访问 Dashboard:
打开浏览器并访问以下地址: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
-
按照提示 创建一个 Token,用于登录到 Dashboard:
创建一个 YAML 文件:admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
执行
kubectl apply -f ~/.kube/admin-user.yaml
kubectl -n kubernetes-dashboard create token admin-user
复制返回的 Token,并在 Dashboard 登录页面中粘贴即可。
结束语
你可以在本地 Kubernetes 集群中测试、开发和调试你的应用,确保它们在生产环境中能够顺利运行。
本文来自博客园,作者:茄子_2008,转载请注明原文链接:https://www.cnblogs.com/xd502djj/p/18735960
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2013-02-25 .bash_profile和.bashrc的区别(如何设置生效)
2013-02-25 navicat使用
2009-02-25 xmlhttprequest 缓存问题
2009-02-25 启动Windows以太网验证服务