搭建minikube环境

482 阅读2分钟

搭建minikube环境

minikube 支持 Mac、Windows、Linux 这三种主流平台,你可以在它的官网(minikube.sigs.k8s.io)找到详细的安装说明,当然在这里就只用centos了。

# Intel x86_64
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

# Apple arm64
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64

sudo install minikube /usr/local/bin/

执行命令 minikube version,看看它的版本号,验证是否安装成功:minikube version

minikube 只能够搭建 Kubernetes 环境,要操作 Kubernetes,还需要另一个专门的客户端工具“kubectl”。

kubectl 的作用有点类似之前我们学习容器技术时候的工具“docker”,它也是一个命令行工具,作用也比较类似,同样是与 Kubernetes 后台服务通信,把我们的命令转发给 Kubernetes,实现容器和集群的管理功能。

kubectl 是一个与 Kubernetes、minikube 彼此独立的项目,所以不包含在 minikube 里,但 minikube 提供了安装它的简化方式,你只需执行下面的这条命令:minikube kubectl​。它就会把与当前 Kubernetes 版本匹配的 kubectl 下载下来,存放在内部目录(例如 .minikube/cache/linux/arm64/v1.23.3),然后我们就可以使用它来对 Kubernetes“发号施令”了。

所以,在 minikube 环境里,我们会用到两个客户端:minikube 管理 Kubernetes 集群环境,kubectl 操作实际的 Kubernetes 功能,和 Docker 比起来有点复杂。

验证

使用命令 minikube start 会从 Docker Hub 上拉取镜像,以当前最新版本的 Kubernetes 启动集群。不过为了保证实验环境的一致性,我们可以在后面再加上一个参数 --kubernetes-version,明确指定要使用 Kubernetes 版本。

这里我使用“1.28.3”,启动命令就是:

minikube start --kubernetes-version=v1.28.3 --force --driver=docker --image-mirror-country='cn'
# 使用国内镜像处理拉取镜像慢的问题

现在 Kubernetes 集群就已经在我们本地运行了,你可以使用 minikube status、minikube node list这两个命令来查看集群的状态:

minikube status
minikube node list

启动dashboard

minikube dashboard

在服务器上启动后会发现无法访问,需要暴露端口

kubectl proxy --port=端口号(一个没有被占用的就可以) --address='0.0.0.0' --accept-hosts='^.*' &

集群安装完成后,使用kubectl进行一些简单操作。

​kubectl version​ 不过这条命令还不能直接用,因为使用 minikube 自带的 kubectl 有一点形式上的限制,要在前面加上 minikube 的前缀,后面再有个 --,像这样:

minikube kubectl -- version 

使用 Linux 的“alias”功能,为它创建一个别名,写到当前用户目录下的 .bashrc 里,也就是这样:

alias kubectl="minikube kubectl --"

# kubectl自动补全
source <(kubectl completion bash)

# zsh
source <(kubectl completion zsh)

# 在 Kubernetes 里运行一个 Nginx 应用,命令与 Docker 一样,也是 run,不过形式上有点区别,
# 需要用 --image 指定镜像,然后 Kubernetes 会自动拉取并运行
kubectl run ngx --image=nginx:alpine