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

embedded/2024/10/21 4:00:18/

MiniKube安装Kubernetes集群(一步到位)

文章目录

  • MiniKube安装Kubernetes集群(一步到位)
    • 资源列表
    • 基础环境
    • 一、环境配置
      • 1.1、更新系统
      • 1.2、安装Docker
      • 1.3、配置Docker加速器
    • 二、部署MiniKube
      • 2.1、安装kubectl
      • 2.2、安装MiniKube
        • 2.2.1、创建特定用户
        • 2.2.2、设置密码
        • 2.2.3、新用户提权
        • 2.2.4、切换到新用户
        • 2.2.5、安装MiniKube
        • 2.2.6、准备所需Docker镜像
    • 三、启动集群环境
    • 四、验证
      • 4.1、查看节点状态
      • 4.2、查看组件状态
      • 4.3、查看所有Pod状态
      • 4.4、查看MiniKube状态

资源列表

操作系统配置主机名IP
CentOS 7.92C4Gminikube192.168.93.101

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname minikube

一、环境配置

1.1、更新系统

[root@minikube ~]# yum -y update

1.2、安装Docker

# 安装依赖环境
[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加速器

[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的命令行管理工具
# 下载会很慢,下载不下来的评论或者私信(开源免费)
[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用户下安装
# 先创建一个用户,添加到docker用户组
[root@minikube ~]# useradd -m minikubeuser
[root@minikube ~]# usermod -aG docker minikubeuser
2.2.2、设置密码
[root@minikube ~]# passwd minikubeuser 
2.2.3、新用户提权
# 在101行左右添加,附近因该是有root账户的账号权限,保存退出的时候要加!比如(wq!)
[root@minikube ~]# vim /etc/sudoers
minikubeuser ALL=(ALL) ALL
2.2.4、切换到新用户
[root@minikube ~]# su - minikubeuser 
2.2.5、安装MiniKube
  • 使用刚刚创建新的用户安装
[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镜像
  • 镜像有点大,可能拉取不下啦,需要的私信或者评论(开源免费)
# 这是拉取所需镜像的命令。拉取之后还需要打标签,如果你的标签拉取之后本来就是正确的那无需打标签
[minikubeuser@minikube ~]$ docker pull gcr.io/k8s-minikube/kicbase:v0.0.44@sha256:eb04641328b06c5c4a14f4348470e1046bbcf9c2cbc551486e343d3a49db557e
# 如果你安装的时候是一个干净的环境,那么你应该也是就只有刚刚下载的镜像
[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

三、启动集群环境

[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、查看节点状态

[minikubeuser@minikube ~]$ kubectl get node
NAME       STATUS   ROLES           AGE     VERSION
minikube   Ready    control-plane   4m40s   v1.30.0

4.2、查看组件状态

[minikubeuser@minikube ~]$ kubectl get cs
NAME                 STATUS    MESSAGE   ERROR
scheduler            Healthy   ok        
controller-manager   Healthy   ok        
etcd-0               Healthy   ok    

4.3、查看所有Pod状态

[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状态

[minikubeuser@minikube ~]$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

http://www.ppmy.cn/embedded/56088.html

相关文章

cJSON源码解析之cJSON_Print函数

文章目录 前言cJSON_Print是干什么的cJSON_Print源码解析cJSON_Print函数实现print函数函数实现print_value函数update_offset函数 总结 前言 在处理JSON数据时&#xff0c;我们经常需要将内存中的JSON对象转换为字符串&#xff0c;以便于存储或传输。在C语言的cJSON库中&…

【Docker】docker 替换宿主与容器的映射端口和文件路径

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 docker 替换宿主与容器的映射端口和文件夹 1. 正文 1.1 关闭docker 服务 systemctl stop docker1.2 找到容器的配置文件 cd /var/lib/docker/contain…

基于深度学习的人脸关键点检测

1. 任务和目标 人脸关键点检测的主要任务是识别并定位人脸图像中的特定关键点&#xff0c;例如眼睛的角点、眉毛的顶点、鼻子的底端、嘴角等。这些关键点不仅能提供面部结构的几何信息&#xff0c;还可以用于分析表情、识别个体&#xff0c;甚至检测面部姿势。 2. 技术和方法…

Build a Large Language Model (From Scratch)第五章(gpt-4o翻译版)

来源&#xff1a;https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch

王者荣耀对折叠机进行专门适配优化,折叠机用户喜提加强

王者荣耀针对折叠屏手机做了针对性的适配优化&#xff0c;把折叠机的大屏幕优势发挥了出来——适配之后&#xff0c;用折叠屏玩王者荣耀拥有了更大的视野、以及更大的触控响应区域。 【更贴合折叠屏的视野适配】 此前王者荣耀并没有对折叠屏进行专门的适配&#xff0c;表现到…

网络爬虫详解

前言 网络爬虫&#xff08;Web Scraper&#xff09;是一种自动化程序&#xff0c;用于从互联网上提取数据。它们在数据采集、数据分析、市场调研等领域有着广泛的应用。本文将详细介绍网络爬虫的原理、工具、技术和最佳实践&#xff0c;帮助初学者和专业人士更好地理解和使用网…

CSRF是什么攻击 该如何解决

CSRF是什么攻击 CSRF&#xff08;Cross-Site Request Forgery&#xff09;&#xff0c;即跨站请求伪造攻击&#xff0c;也被称为“one-click attack”或“session riding”。它是一种网络攻击方式&#xff0c;利用已认证用户在受信任网站上的身份&#xff0c;诱使用户在不知情…

DB-GPT Docker部署

感谢阅读 拉取镜像linux判断拉取是否成功的方法windows判断拉取是否成功的方法 模型以及启动容器模型启动容器 界面如下&#xff08;0.56&#xff09;&#xff1a; 拉取镜像 docker pull eosphorosai/dbgpt:latestlinux判断拉取是否成功的方法 docker images | grep "eo…