如何使用minikube搭建k8s集群

使用minikube搭建K8s(Kubernetes)集群是一个在本地快速设置Kubernetes环境的方法,特别适合用于学习和开发。以下是详细步骤:

一、环境准备

  • 操作系统:如Linux CentOS 7.9 64位。
  • CPU和内存:至少2核CPU和4GiB内存,建议2核CPU和更多内存以获得更好的性能。
  • 硬盘:至少需要20GB的硬盘空间。
  • 网络:需要网络连接以下载和访问必要的资源。
  • 容器:需要先安装Docker,建议使用较新的稳定版本,如Docker 24.0.4或Docker 20.10.x。

二、安装Docker

  1. 移除旧版本的Docker(如果已安装):
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  1. 配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
  1. 启动Docker
systemctl enable docker --now
  1. 配置Docker加速(可选):

编辑/etc/docker/daemon.json文件,添加以下内容:

{
  "registry-mirrors": ["https://lkb2w75n.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

然后重新加载Docker配置并重启Docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

三、安装Minikube

  1. 下载并安装Minikube
sudo curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube

或者下载指定版本的Minikube:

sudo curl -LO https://storage.googleapis.com/minikube/releases/v1.XX.X/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube

请将v1.XX.X替换为所需的版本号。

  1. 验证Minikube安装
minikube version

四、启动Minikube集群

  1. 启动Minikube集群
minikube start --image-mirror-country='cn' --kubernetes-version=v1.XX.X

请将v1.XX.X替换为所需的Kubernetes版本号。如果需要使用root用户启动,可以添加--force参数:

minikube start --force --image-mirror-country='cn' --kubernetes-version=v1.XX.X
  1. 验证集群状态
minikube status
  1. 验证kubectl版本

由于Minikube内置的kubectl命令功能不全,建议独立安装一个kubectl。可以使用以下命令下载并安装最新版本的kubectl:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m0755 kubectl /usr/local/bin/kubectl
kubectl version --client --output=yaml

然后验证kubectl是否可以正确连接到Minikube集群:

minikube kubectl version

五、启动Kubernetes Dashboard

  1. 启动Dashboard并显示代理地址
minikube dashboard --url

该URL只能在宿主机内部访问。如果需要在宿主机之外访问,需要设置kubectl proxy代理或其他方式。

  1. 设置kubectl proxy代理
minikube kubectl -- proxy --address='0.0.0.0' --accept-hosts='^*$'&

然后修改ECS防火墙规则,允许入方向的8001端口通行。在宿主机之外的浏览器中访问:http://ECS公网IP:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

六、部署应用

  1. 创建一个Deployment(例如nginx):
kubectl create deployment test-nginx --image=nginx:1.7.9
  1. 查看Deployment和Pod状态
kubectl get pod,deploy
  1. 暴露Service端口
kubectl expose deploy test-nginx --port=80 --type=NodePort
  1. 查看Service状态
kubectl get svc

在Minikube环境中,可以通过minikube service命令来访问暴露的服务:

minikube service test-nginx

这将会打开一个浏览器窗口并显示服务的地址和端口。

注意事项

  • 在使用Minikube时,如果遇到任何问题,可以参考官方文档或社区提供的解决方案。
  • Minikube主要用于学习和开发环境,不建议在生产环境中使用。
  • 根据需要调整Minikube的启动参数,如CPU、内存和Kubernetes版本等。

通过以上步骤,您应该能够成功使用Minikube搭建一个本地的Kubernetes集群,并部署和运行容器化的应用程序。

posted @   you_yu  阅读(411)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示