【云原生】MiniKube部署Kubernetes最小化集群

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、创建特定用户
  • 不推荐使用root用户下安装
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
相关推荐
泷羽Sec-pp27 分钟前
DC-9靶机通关笔记
linux·运维·网络·笔记·docker·容器
信徒_1 小时前
微服务系统设计
微服务·云原生·架构
钱叁壹2 小时前
修改docker为国内源
docker·容器·eureka
大唐锦绣2 小时前
Docker下Gogs设置Webhook推送Spug,踩坑记录与解决方案
运维·docker·容器·gogs
zhojiew3 小时前
Istio in action之Envoy Proxy详解
云原生·istio
斯普信专业组4 小时前
基于Kubernetes的Apache Pulsar云原生架构解析与集群部署指南(上)
云原生·kubernetes·apache
noravinsc5 小时前
‌云原生CAE软件
云原生·cae软件
GokuCode5 小时前
【5分钟学Docker】Docker快速使用
docker·云原生·eureka·5分钟快速学·docker入门
极小狐6 小时前
如何减少极狐GitLab 容器镜像库存储?
运维·git·rpc·kubernetes·ssh·gitlab·terraform
家庭云计算专家7 小时前
onlyoffice 源码调试指南-ARM和x86双模式安装支持
arm开发·docker·容器·云计算