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

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.mzph.cn/pingmian/38109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入了解Qt 控件:Display Widgets部件(1) 以及 QT自定义控件(电池)

QT自定义控件(电池&#xff09; 在线调色板Qt之CSS专栏Chapter1 QT自定义控件(电池&#xff09;Chapter2 Qt教程 — 3.5 深入了解Qt 控件&#xff1a;Display Widgets部件(1)1 Display Widgets简介2 如何使用Display Widgets部件 Chapter3 Qt自定义控件电池组件使用前言一、最基…

“论大数据处理架构及其应用”高分范文,软考高级,系统架构设计师

论文真题 大数据处理架构是专门用于处理和分析巨量复杂数据集的软件架构。它通常包括数据收集、存储、处理、分析和可视化等多个层面&#xff0c;旨在从海量、多样化的数据中提取有价值的信息。Lambda架构是大数据平台里最成熟、最稳定的架构&#xff0c;它是一种将批处理和流…

springboot 3.x相比之前版本有什么区别

Spring Boot 3.x相比之前的版本&#xff08;尤其是Spring Boot 2.x&#xff09;&#xff0c;主要存在以下几个显著的区别和新特性&#xff1a; Java版本要求&#xff1a; Spring Boot 3.x要求至少使用Java 17作为最低版本&#xff0c;同时已经通过了Java 19的测试&#xff0c;…

第十一章 Qt的模型视图

目录 一、模型/视图的原理 1、原理分析 2、模型(数据模型) 3、视图 4、代理 二、文件系统模型 1、项目练习 2、UI 设计 3、代码实现 三、字符串链表模型 QStringListModel 1、项目效果 2、项目实现 四、标准项模型(QStandardItemModel) 1、模型分析 2、项目效…

Java内存管理策略与性能调优

Java内存管理策略与性能调优 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 引言 Java作为一种广泛应用于企业级应用开发的编程语言&#xff0c;其内存管理和…

Java+JSP+Mysql+Tomcat实现Web图书管理系统

简介&#xff1a; 本项目是基于springspringmvcJdbcTemplate实现的图书馆管理系统&#xff0c;包含基本的增删改查功能&#xff0c;可作为JavaWeb初学者的入门学习案例。 环境要求&#xff1a; java8 mysql5.7及以下 eclipse最新版 项目目录 模块设计 页面设计 1. 登录页…

微信小程序怎样跳转页面?

在微信小程序中&#xff0c;页面跳转通常使用 wx.navigateTo、wx.redirectTo、wx.switchTab、wx.navigateBack 以及 wx.reLaunch 等API。这些API提供了不同的页面跳转方式&#xff0c;适用于不同的场景。 以下是这些API的详细代码示例和说明&#xff1a; 1.wx.navigateTo&…

TEB(Time Elastic Band)局部路径规划算法详解及代码实现

一、题外话 经济的持续低迷让一线打工者们情绪焦虑、对未来丧失信心&#xff0c;导致保守消费&#xff1b;企业端也是想着降本增效&#xff0c;裁员收缩。而在主流经济界有两种拉动经济的方式&#xff0c;第一是通过生产拉动经济、第二是通过消费拉动经济&#xff0c;毫无疑问…

android 定时调用方法

在Android中&#xff0c;可以使用Handler类和Runnable接口来实现定时调用方法。以下是一个简单的例子&#xff0c;展示了如何每隔一定时间调用一个方法。 import android.os.Handler; import android.os.SystemClock; import androidx.appcompat.app.AppCompatActivity; impor…

【Python系列】Python 项目 Docker 部署指南

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Linux多进程和多线程(三)进程间通讯-信号处理方式和自定义处理函数

进程间通信之信号 信号信号的种类 信号在操作系统中的定义如下: 信号的处理流程在 Linux 中对信号的处理⽅式 自定义信号处理函数 信号的发送 kill() 函数:raise() 函数: 示例 : 创建⼀个⼦进程&#xff0c;⼦进程通过信号暂停&#xff0c;⽗进程发送 终⽌信号等待信号 pause()…

风控图算法之社群发现算法(小数据集Python版)

风控图算法之社群发现算法&#xff08;小数据集Python版&#xff09; 在风险控制领域&#xff0c;图算法扮演着日益重要的角色。&#xff08;这方面的资料有很多&#xff0c;不再赘述&#xff09; 图算法在风控场景的应用 图分析方法在业务风控中的应用 特别是社群发现算法&a…

基于pytorch实现的 MobileViT 的图像识别(迁移学习)

1、介绍 MobileViT 轻量级的分类识别网络&#xff0c;结合了CNN卷积和Transformer 混合的网络架构 关于更多介绍可以自行百度&#xff0c;本文通过pytorchpython进行实现 更多基础的图像分类网络&#xff0c;参考&#xff1a;图像分类_听风吹等浪起的博客-CSDN博客 2、相关代…

npm简介与安装方法/管理与依赖管理/脚本命令与自定义

npm简介与安装方法 什么是npm&#xff1f; npm&#xff08;Node Package Manager&#xff09;是Node.js的包管理工具和包管理系统&#xff0c;广泛用于JavaScript生态系统中。npm主要有以下几个功能&#xff1a; 包管理器&#xff1a;安装、更新、卸载Node.js包。项目管理工…

DB-GPT 文档切分报错

感谢阅读 配置完知识库&#xff0c;进行切分报错切分完成后&#xff0c;进行问答时后台日志报错 配置完知识库&#xff0c;进行切分报错 报的错如下 document sync error cryptography>3.1 is required for AES algorithm pip install -U cryptography 之后重新运行程序 …

SimpleService 一个简单的Windows Service定时服务

SimpleService 介绍 一个简单的Windows Service定时服务 SimpleService: 一个简单的Windows Service定时服务 使用说明

kimi AI,文生流程图,一句话kimi当场出图

kimi AI善于读长文、搜网页&#xff0c;主打功能包括整理资料、解读文件、辅助编程、文案写作等。 今天我们就让kimi帮我们一键生成流程图&#xff0c;再也不用自己画了&#xff1a; 不看广告看疗效&#xff1a; 告诉kimi使用Mermaid直接生成流程图&#xff0c;kimi直接生成…

AI是如何与快充技术结合的?

针对AI技术在快充领域的运用&#xff0c;我们可以进一步深入探讨AI如何与快充技术结合&#xff0c;提升充电效率和用户体验。以下是一些具体的AI技术在快充领域的应用场景&#xff1a; 一、智能充电算法 学习充电模式&#xff1a;AI算法可以学习用户的充电习惯&#xff0c;比…

容器技术-docker4

一、docker资源限制 在使用 docker 运行容器时&#xff0c;一台主机上可能会运行几百个容器&#xff0c;这些容器虽然互相隔离&#xff0c;但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制&#xff0c;那么容器之间会互相影响&#xff0c;小的来说…

获取键盘事件的keyCode属性

获取键盘事件的keyCode属性 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在本文中&#xff0c;我们将深入探讨在Java中如何获取键盘事件的keyCode属性。键盘事…