Kubernetes,也称为k8s或简称为Kube,是一个开源容器编排平台,用于容器的自动化扩展和部署。minikube是一个跨平台的开源工具,它使您可以在本地机器上或虚拟机 (vm) 内部署单节点Kubernetes 集群。在本主题中,您将学习如何在 CentOS 8 虚拟机上使用 minikube 安装 Kubernetes。
miniKube 的先决条件
- 新安装的 CentOS 8(带 GUI)VM 的副本
- 最少 2 GB RAM 和 2 个 vCPU
- 20 GB 硬盘空间
- 根权限
- 稳定的互联网连接
满足所有先决条件后,现在是时候卷起袖子去弄脏我们的手了。
步骤 1) 安装更新并禁用 SELinux
首先,我们将安装安装所需的最新可用更新,以便顺利进行。运行以下 dnf 命令,
[root@minikube-centos8 ~]# dnf update -y
接下来,执行以下命令禁用 SELinux,
[root@minikube-centos8 ~]# setenforce 0
[root@minikube-centos8 ~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
因为我们将在 VM 中使用 MiniKube 部署本地 Kubernetes 集群。因此,使用以下命令在 CentOS 8 VM 上安装 Docker CE,
[root@minikube-centos8 ~]# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
[root@minikube-centos8 ~]#
[root@minikube-centos8 ~]# dnf install docker-ce --nobest -y
运行以下 systemctl 命令来启动和启用 docker 服务,
[root@minikube-centos8 ~]# systemctl start docker
[root@minikube-centos8 ~]# systemctl enable docker
使用 firewall-cmd 命令设置以下防火墙规则,
[root@minikube-centos8 ~]# firewall-cmd --zone=public --add-masquerade --permanent
[root@minikube-centos8 ~]# firewall-cmd --reload
使用以下命令安装“ conntrack ”包, conntrack 是 minikube 设置的依赖项,
[root@minikube-centos8 ~]# dnf install conntrack -y
步骤 3) 手动安装 Kubectl
Kubectl 是一个命令行工具,通过 API 与 Kubernetes 集群交互。使用 kubectl,我们将应用程序部署为部署。默认情况下,kubectl 不包含在 CentOS 8 软件包存储库中。因此,我们将使用下面的命令手动安装它,
[root@minikube-centos8 ~]# curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
[root@minikube-centos8 ~]# chmod +x ./kubectl
[root@minikube-centos8 ~]# mv ./kubectl /usr/local/bin/kubectl
[root@minikube-centos8 ~]# kubectl version --client
上述命令的输出如下所示,
步骤 4) 安装并启动 Minikube
安装 kubectl 后,让我们使用以下命令安装 minikube,
[root@minikube-centos8 ~]# curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
[root@minikube-centos8 ~]# chmod +x minikube
[root@minikube-centos8 ~]# mkdir -p /usr/local/bin/
[root@minikube-centos8 ~]# install minikube /usr/local/bin/
要启动 minikube,请运行以下命令:
[root@minikube-centos8 ~]# minikube start --driver=none
minikube start --driver=none --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' --registry-mirror=https://6no4lkvx.mirror.aliyuncs.com
正如我们在上面的输出中看到的,minikube 命令已经下载并启动了用于设置单节点 Kubernetes 集群的 docker 容器。
运行以下 minikube 命令来验证本地 Kubernetes 集群的状态,
[root@minikube-centos8 ~]# minikube status
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
[root@minikube-centos8 ~]# minikube ip
192.168.29.216
[root@minikube-centos8 ~]#
要停止 Kubernetes 集群,请执行,
[root@minikube-centos8 ~]# minikube stop
执行“ kubectl cluster-info ”命令查看集群信息,
[root@minikube-centos8 ~]# kubectl cluster-info
运行以下命令查看集群节点,
[root@minikube-centos8 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube-centos8 Ready master 144m v1.18.0
[root@minikube-centos8 ~]#
步骤:6) 测试和验证 Kubernetes 集群
为了测试 Kubernetes 集群,让我们尝试使用 echoserver 镜像创建 k8s 部署,它相当于 http web 服务器并将其作为服务暴露在 8080 端口上,
[root@minikube-centos8 ~]# kubectl create deployment test-minikube --image=k8s.gcr.io/echoserver:1.10
deployment.apps/test-minikube created
[root@minikube-centos8 ~]#
使用国内镜像echoserver 镜像创建 k8s 部署,请运行以下命令:
kubectl create deployment test-minikube --image=registry.aliyuncs.com/google_containers/echoserver:1.10
要访问 test-minikube 部署,将其公开为服务,运行以下命令,
[root@minikube-centos8 ~]# kubectl expose deployment test-minikube --type=NodePort --port=8080
service/test-minikube exposed
[root@minikube-centos8 ~]#
在 kubectl 命令下运行以获取上面创建的部署的 pod 信息,
[root@minikube-centos8 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
test-minikube-f4df69575-fkxdh 1/1 Running 0 3m29s
[root@minikube-centos8 ~]#
要访问服务,请通过运行 under 命令获取其 url。
[root@minikube-centos8 ~]# minikube service test-minikube --url
http://192.168.29.216:31356
[root@minikube-centos8 ~]#
现在在您的网络浏览器中输入上面的网址,
太好了,这意味着我们的 Kubernetes 集群运行良好。下一步,让我们尝试部署和访问 Kubernetes 仪表板
步骤 7)启用和访问 Kubernetes 仪表板
Kubernetes 附带一个仪表板,可让您管理集群。在 Minikube 中,仪表板已添加为插件。要查看 minikube 附带的所有插件,请运行:
[root@minikube-centos8 ~]# minikube addons list
要激活 Kubernetes 仪表板,请执行以下命令,
[root@minikube-centos8 ~]# minikube dashboard --url
这将为我们提供一个仪表板 url ,将其复制并粘贴到 minikube 系统的 Web 浏览器上。
仅此而已。我们已经成功地在 CentOS 8 上使用 Minikube 安装了 Kubernetes。欢迎您分享您的反馈和评论。