使用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
- 移除旧版本的Docker(如果已安装):
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
- 配置yum源:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装Docker:
sudo yum install -y docker-ce docker-ce-cli containerd.io
- 启动Docker:
systemctl enable docker --now
- 配置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
- 下载并安装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
替换为所需的版本号。
- 验证Minikube安装:
minikube version
四、启动Minikube集群
- 启动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
- 验证集群状态:
minikube status
- 验证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
- 启动Dashboard并显示代理地址:
minikube dashboard --url
该URL只能在宿主机内部访问。如果需要在宿主机之外访问,需要设置kubectl proxy代理或其他方式。
- 设置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/
。
六、部署应用
- 创建一个Deployment(例如nginx):
kubectl create deployment test-nginx --image=nginx:1.7.9
- 查看Deployment和Pod状态:
kubectl get pod,deploy
- 暴露Service端口:
kubectl expose deploy test-nginx --port=80 --type=NodePort
- 查看Service状态:
kubectl get svc
在Minikube环境中,可以通过minikube service命令来访问暴露的服务:
minikube service test-nginx
这将会打开一个浏览器窗口并显示服务的地址和端口。
注意事项
- 在使用Minikube时,如果遇到任何问题,可以参考官方文档或社区提供的解决方案。
- Minikube主要用于学习和开发环境,不建议在生产环境中使用。
- 根据需要调整Minikube的启动参数,如CPU、内存和Kubernetes版本等。
通过以上步骤,您应该能够成功使用Minikube搭建一个本地的Kubernetes集群,并部署和运行容器化的应用程序。
标签:kubectl,Minikube,--,sudo,集群,minikube,docker,k8s From: https://www.cnblogs.com/you-fish/p/18451091