【云原生 Kubernetes】基于 Minikube 搭建第一个k8s集群

news2024/9/29 23:32:17

一、前言

对于k8s来说,搭建方式有多种,如果是生产环境,一般来说,至少需要3台节点确保服务的高可用性,常用的搭建方式列举如下(提供参考):

kubeadm搭建(推荐)

  • 一个K8s部署工具,提供kubeadm init和kubeadm join ;

  • 用于快速搭建k8s集群,比较推荐(也是官方推荐的方式); 

二进制包搭建

  • github下载发行版二进制包,手动部署每个组件, 组成Kubernetes集群 ;
  • 步骤繁琐,可能会踩很多坑;

Minikube搭建

  • 是一种轻量化的Kubernetes集群 ;
  • k8s社区为了帮助开发者和学习者能够更好学习和体验k8s功能而推出的;
  • 使用个人PC虚拟化环境,或者低配的云服务器就可以快速构建启动单节点k8s 集群;

其他方式

  • 青云等其他厂商提供的一站式部署解决方案;

二、Minikube 介绍

Minikube 是一种轻量化的Kubernetes集群,是k8s社区为帮助开发者和学习者能够更好学习和体验k8s功能而推出的,使用个人PC虚拟化环境,或者低配的云服务器就快速构建启动单节点k8s,同时,在使用上来说,其命令的操作基本上与集群模式下没有太大差异。

三、机器准备

阿里云(腾讯云) CentOS 7.x ,2核4g(至少,本篇操作的服务器为4核8G的配置);

四、安装步骤

在正式安装Minikube之前,需要确保当前服务器已经安装了docker;

为了便于后续的操作和演示,这里再对docker的搭建流程做下总结;

docker 安装过程

1、  安装和配置yml源

yum install -y yum-utils device-mapper-persistent-data lvm2

2、  配置阿里云镜像

不设置的话,后面拉取镜像的时候可能会比较慢,建议设置一下;

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、查看当前系统可安装的docker版本

yum list docker-ce --showduplicates | sort -r

 

4、安装docker

根据上一步的结果,选择合适的版本进行安装

yum -y install docker-ce-20.10.21-3.el7

5、  查看docker版本

 

6、设置开机启动

也可以不设置

systemctl enable docker.service

7、启动docker并查看状态

systemctl start docker

#查看docker 启动状态
systemctl status docker

Minikube 安装过程

1、配置镜像源

配置阿里云镜像源

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

 

2、安装kubectl

yum install -y kubectl-1.18.0

安装过程 

 

3、安装minikube

curl -LO https://storage.googleapis.com/minikube/releases/v1.18.1/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube

这个过程可能有点慢,需要耐心等待一会儿;

 

4、检查minikube是否安装成功

minikube  version

看到下面的显示说明安装成功 

 

5、启动minikube

minikube start --image-mirror-country='cn'  --driver=docker --force

这个过程在初次启动的时候可能有点长,需要耐心等待一会,看到下面的内容说明启动成功,接下来就可以使用k8s的常用命令了;

 

6、查看集群状态

kubectl cluster-info

 

7、查看集群节点信息

kubectl get pod -A

 

五、基于k8s单节点集群部署nginx应用

通过上面的操作,完成了一个基于minikube搭建的一个单节点的k8s集群,接下来,我们将基于minikube单节点部署一个nginx应用,并能够通过公网访问;

安装下面的操作执行;

1、创建deployment

deployment是Pod控制器的一种(在上一篇组件中有详细的说明),通过deployment创建的pod, 如果删除pod后,还会自动创建新的pod,需要删除deployment才可以真正删除pod;

使用下面的命令创建一个nginx的deployment(版本可以根据自己的需要即可)

kubectl create deployment test-nginx --image=nginx:1.23.0

 

2、查看上面创建的deployment

kubectl get deployment,pod,svc

 

这里的写法比较灵活,也可以写成: kubectl get deploy

3、暴露80端口(nginx客户端默认端口)

kubectl expose deployment test-nginx --port=80  --type=NodePort

这时候再次查看时,可以发现service那一层就多出来了一个NodePort,而这个NodePort产生的IP就是对外的一个访问入口;

 

4、配置端口转发

kubectl port-forward  --address 0.0.0.0   service/test-nginx 80:80

kubectl port-forward 转发一个本地端口到 Pod 端口,不会返回数据,上面的命令的意思就是允许所有的IP地址进行访问,映射到k8s集群中上面启动的这个test-nginx服务上面来;

 

5、客户端浏览器进行访问

如果是阿里云服务器,请提前在网络安全组开放80端口限制

接下来在客户端的浏览器打开nginx,看到如下界面说明通过上面部署的nginx就可以正常使用了

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/96428.html

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

相关文章

postman测试环境的创建及发送请求方式

目录 一、创建工作环境 1、打开postman&#xff0c;点击工作区 2、点击新建 3、添加名字&#xff0c;点击创建 4、工作区可以自由切换工作区 5、点击创建发送请求 6、更换请求方式 7、保存测试 二、测试发送请求&#xff0c;使用的时候服务一定要启动 1、普通传参&…

C++ 类型转换

目录 C语言中的类型转换 为什么C需要四种类型转换 C&#xff1a;命名的强制类型转换 static_cast reinterpret_cast const_cast dynamic_cast C语言中的类型转换 在C语言中&#xff0c;如果赋值运算符左右两侧类型不同&#xff0c;或者形参与实参类型不匹配&#xff0c…

信息学奥赛一本通——1163:阿克曼(Ackmann)函数

文章目录1163&#xff1a;阿克曼(Ackmann)函数【题目描述】【输入】【输出】【输入样例】【输出样例】分析代码1163&#xff1a;阿克曼(Ackmann)函数 时间限制:1000ms内存限制:65536KB提交数:24804通过数:20247时间限制: 1000 ms 内存限制: 65536 KB 提交数: 24804 通过数: 202…

第三十章 linux-模块的文件格式与EXPORT_SYMBOL的实现

第三十章 linux-模块的文件格式与EXPORT_SYMBOL的实现 文章目录第三十章 linux-模块的文件格式与EXPORT_SYMBOL的实现模块的文件格式EXPORT_SYMBOL的实现模块的文件格式 以内核模块形式存在的驱动程序&#xff0c;比如demodev.ko&#xff0c;其在文件的数据组织形式上是ELF&am…

数据结构---快速排序

快速排序分治法思想基准元素的选择元素交换双边循环法JAVA实现单边循环法JAVA实现快速排序也是从冒泡排序演化而来使用了 分治法&#xff08;快的原因&#xff09;快速排序和冒泡排序共同点&#xff1a;通过元素之间的比较和交换位置来达到排序的目的。 快速排序和冒泡排序不同…

JavaWeb核心:HTTPTomcatServlet

HTTP 概念: Hyper Text Transfer Protocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则。 HTTP-请求数据格式 HTTP-响应数据格式 响应状态码的大的分类 常见的响应状态码 Tomcat 简介 概念: Tomcat是Apache 软件基金会一个核心项目&#…

【云原生】Prometheus 自定义告警规则

文章目录一、概述二、告警实现流程三、告警规则1&#xff09;告警规则配置1&#xff09;监控服务器是否在线3&#xff09;告警数据的状态四、实战操作1&#xff09;下载 node_exporter2&#xff09;启动 node_exporter3&#xff09;配置Prometheus加载node_exporter4&#xff0…

这样也可以让图像正向扩散

🍿*★,*:.☆欢迎您/$:*.★* 🍿 怎样的扩散取决于b是不是随机噪声 是随机噪声 则是扩散模型 如stable diffision 如果是非噪声则是方向模型 方向模型是指 在已知几个连续的输入 后可以通过模型的辅助预测扩散的方向 而 stable diffision 是通过预测反扩散方向 本质就…

VS2017中OpenCV编程插件Image Watch安装和使用介绍

安装 下载适合vs2017最新版本的Image Watch(ImageWatch.vsix)&#xff0c;下载地址 安装ImageWatch&#xff0c;双击ImageWatch.vsix进行安装即可&#xff1b; 使用 打开一个OpenCV工程&#xff0c;在Debug下设置断点&#xff0c;通过view -> other windows -> Image W…

基于51单片机宠物自动投料喂食器控制系统仿真设计( proteus仿真+程序+讲解视频)

基于51单片机宠物自动投料喂食器控制系统仿真设计( proteus仿真程序讲解视频&#xff09; 仿真图proteus 7.8及以上 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;S0029 视频讲解 基于51单片机的宠物自动投料喂食器控制系统proteu…

数据结构—最小生成树

目录 一、生成树 二、最小生成树&#xff08;代价最小树&#xff09; 三、求最小生成树 1、Prim算法&#xff08;普里姆&#xff09; 2.Kruskal 算法&#xff08;克鲁斯卡尔&#xff09; 3.Prim算法和Kruskal算法对比 一、生成树 连通图的生成树是包含图中全部顶点的一个…

[附源码]Nodejs计算机毕业设计基于框架的秧苗以及农产品交易网站Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

算法分析专业工具——大O记法

本文内容借鉴一本我非常喜欢的书——《数据结构与算法图解》。学习之余&#xff0c;我决定把这本书精彩的部分摘录出来与大家分享。 写在前面 从之前的章节中我们了解到&#xff0c;影响算法性能的主要因素是其所需的步数。 然而&#xff0c;我们不能简单地把一个算法记为“…

Postman下载,安装,汉化,注册及登录教程

目录 一、Postman简介 二、Postman的注册 1、首先下载Postman&#xff0c;进入官网&#xff1a;Download Postman | Get Started for Free 2、安装Postman 3、下载汉化包 4、找到所下载的app.zip文件&#xff0c;将文件进行解压&#xff0c;放置到此路径下 Postman\app9…

代码随想录Day52|300.最长递增子序列、674.最长连续递增序列、718.最长重复子数组

文章目录300.最长递增子序列674.最长连续递增序列718.最长重复子数组300.最长递增子序列 文章讲解&#xff1a;代码随想录 (programmercarl.com) 题目链接&#xff1a;300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 给你一个整数数组 nums…

Eclipse常用开发配置

Eclipse常用开发配置1. 编码配置1.1 输出中文乱码问题1.2 Java文件中文乱码2. 切换JDK、修改JRE3. 错误&#xff1a;找不到或无法加载主类4. 修改字体大小4.1 修改编辑窗口字体大小4.2 修改编译器字体大小5. 新建Java项目6. 导入项目6.1 导入git6.2 导入已有Java项目7. 运行中文…

.net core AutoMapper的简单使用。

AutoMapper主要处理对象与对象之间的映射&#xff0c;减少程序员自己编写代码的工作量&#xff0c;提高开发效率。 应用场景&#xff1a; 假如你想对原始数据&#xff0c;进行部分字段展示&#xff0c;那么你需要创建一个对应的DTO类&#xff0c;进行手动映射&#xff0c;这样…

在电网上使用的储能系统模拟(simulink)

目录 1 概述 2 配电系统 3 动态负载模型 4 光伏电场和TMY3数据 5 储能系统 (ESS) 6 案例 7 仿真结果 8 Simulink&Matlab代码实现 1 概述 (1)目标展示了SimPowerSystems在不到一分钟的模拟时间内&#xff0c;以相量模式模拟电路和控制系统的能力。 (2)说明与能量存储…

对话顶立欧雅纳特丨传统制造企业的“人货场”重构该从何入手?

链条长、客单价高、标准化程度低、交付周期长......作为传统制造行业中颇具代表性的领域&#xff0c;家居建材一直被视为“距离互联网最远”行业之一&#xff0c;平均仅有10%的数字化率&#xff0c;行业整体的数字化转型相对滞后。随着外部环境的变动与行业生态的发展&#xff…

RK3588平台开发系列讲解(AUDIO篇)Android音频调试--tiny-alsa 工具

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、工具介绍二、工具的使用2.1 tinyplay2.1 tinycap2.3 tinymix2.4 tinypcminfo沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍Android下audio调试工具tiny-alsa的使用方法。 一、工具介绍 RK平台…