MiniKube安装Kubernetes集群(一步到位)
文章目录
资源列表
操作系统 |
配置 |
主机名 |
IP |
CentOS 7.9 |
2C4G |
minikube |
192.168.93.101 |
基础环境
bash
复制代码
systemctl stop firewalld
systemctl disable firewalld
bash
复制代码
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
bash
复制代码
hostnamectl set-hostname minikube
一、环境配置
1.1、更新系统
bash
复制代码
[root@minikube ~]# yum -y update
1.2、安装Docker
bash
复制代码
# 安装依赖环境
[root@minikube ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加CentOS阿里云官方镜像站
[root@minikube ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 快速建立yum缓存
[root@minikube ~]# yum makecache fast
# 安装最新版Docker
[root@minikube ~]# yum -y install docker-ce docker-ce-cli containerd.io
# 启动Docker
[root@minikube ~]# systemctl start docker
[root@minikube ~]# systemctl enable docker
# 查看Docker版本
[root@minikube ~]# docker -v
Docker version 26.1.4, build 5650f9b
1.3、配置Docker加速器
bash
复制代码
[root@minikube ~]# cd /etc/docker/
[root@minikube docker]# cat >> daemon.json << EOF
{
"registry-mirrors": ["https://8xpk5wnt.mirror.aliyuncs.com"]
}
EOF
[root@minikube docker]# systemctl restart docker
二、部署MiniKube
2.1、安装kubectl
- kubectl是Kubernetes的命令行管理工具
bash
复制代码
# 下载会很慢,下载不下来的评论或者私信(开源免费)
[root@minikube ~]# curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
[root@minikube ~]# chmod +x kubectl
[root@minikube ~]# sudo mv kubectl /usr/local/bin/
# 查看kubectl版本,如果回显跟一下差不多那就说明没问题
[root@minikube ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:18:22Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
2.2、安装MiniKube
2.2.1、创建特定用户
bash
复制代码
# 先创建一个用户,添加到docker用户组
[root@minikube ~]# useradd -m minikubeuser
[root@minikube ~]# usermod -aG docker minikubeuser
2.2.2、设置密码
bash
复制代码
[root@minikube ~]# passwd minikubeuser
2.2.3、新用户提权
bash
复制代码
# 在101行左右添加,附近因该是有root账户的账号权限,保存退出的时候要加!比如(wq!)
[root@minikube ~]# vim /etc/sudoers
minikubeuser ALL=(ALL) ALL
2.2.4、切换到新用户
bash
复制代码
[root@minikube ~]# su - minikubeuser
2.2.5、安装MiniKube
bash
复制代码
[minikubeuser@minikube ~]$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
[minikubeuser@minikube ~]$ chmod +x minikube
# 移动的使用应该是需要输入一次minikubeuser的密码,如果正确提权了是可以正常移动的,如果提权也是无法移动,那就用root用户移动
[minikubeuser@minikube ~]$ sudo mv minikube /usr/local/bin/
2.2.6、准备所需Docker镜像
- 镜像有点大,可能拉取不下啦,需要的私信或者评论(开源免费)
bash
复制代码
# 这是拉取所需镜像的命令。拉取之后还需要打标签,如果你的标签拉取之后本来就是正确的那无需打标签
[minikubeuser@minikube ~]$ docker pull gcr.io/k8s-minikube/kicbase:v0.0.44@sha256:eb04641328b06c5c4a14f4348470e1046bbcf9c2cbc551486e343d3a49db557e
bash
复制代码
# 如果你安装的时候是一个干净的环境,那么你应该也是就只有刚刚下载的镜像
[minikubeuser@minikube ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 5a6e59a9bdc0 7 weeks ago 1.26GB
# 开始打标签,为我们所用
[minikubeuser@minikube ~]$ docker tag 5a6e59a9bdc0 gcr.io/k8s-minikube/kicbase:v0.0.44
# 此时将会获得一个看上去正常的镜像了
[minikubeuser@minikube ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gcr.io/k8s-minikube/kicbase v0.0.44 5a6e59a9bdc0 7 weeks ago 1.26GB
三、启动集群环境
bash
复制代码
[minikubeuser@minikube ~]$ minikube start --driver=docker
* Centos 7.9.2009 上的 minikube v1.33.1
* 根据用户配置使用 docker 驱动程序
* 使用具有 root 权限的 Docker 驱动程序
* Starting "minikube" primary control-plane node in "minikube" cluster
* Pulling base image v0.0.44 ...
* 正在下载 Kubernetes v1.30.0 的预加载文件...
> index.docker.io/kicbase/sta...: 0 B [_____________________] ?% ? p/s 22s
> preloaded-images-k8s-v18-v1...: 342.90 MiB / 342.90 MiB 100.00% 4.39 Mi
* Creating docker container (CPUs=2, Memory=2200MB) ...
* 正在 Docker 26.1.1 中准备 Kubernetes v1.30.0...
- 正在生成证书和密钥...
- 正在启动控制平面...
- 配置 RBAC 规则 ...
* 配置 bridge CNI (Container Networking Interface) ...
* 正在验证 Kubernetes 组件...
- 正在使用镜像 gcr.io/k8s-minikube/storage-provisioner:v5
* 启用插件: storage-provisioner, default-storageclass
! /usr/local/bin/kubectl 的版本为 1.15.1,可能与 Kubernetes 1.30.0 不兼容。
- 想要使用 kubectl v1.30.0 吗?尝试使用 'minikube kubectl -- get pods -A' 命令
* 完成!kubectl 现在已配置,默认使用"minikube"集群和"default"命名空间
四、验证
4.1、查看节点状态
bash
复制代码
[minikubeuser@minikube ~]$ kubectl get node
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 4m40s v1.30.0
4.2、查看组件状态
bash
复制代码
[minikubeuser@minikube ~]$ kubectl get cs
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy ok
4.3、查看所有Pod状态
bash
复制代码
[minikubeuser@minikube ~]$ kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-7db6d8ff4d-d7pq4 0/1 running 0 4m38s
kube-system etcd-minikube 1/1 Running 0 5m57s
kube-system kube-apiserver-minikube 1/1 Running 0 5m57s
kube-system kube-controller-manager-minikube 1/1 Running 0 5m57s
kube-system kube-proxy-84nm7 1/1 Running 0 5m42s
kube-system kube-scheduler-minikube 1/1 Running 0 5m57s
kube-system storage-provisioner 1/1 Running 1 (5m21s ago) 5m56s
4.4、查看MiniKube状态
bash
复制代码
[minikubeuser@minikube ~]$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured