基于minikube快速搭建kubernetes单节点环境

一、说明
本文主要介绍在 Centos7 环境下基于 Minikube 来快速部署 Kubernetes 单节点集群环境,并在浏览器上访问部署在 k8s 上的 dashboard 服务。
二、Minikube 介绍
Minikube 是一个基于go语言开发,易于在本地运行 Kubernetes 的工具,可在你的笔记本电脑上的虚拟机内轻松创建单机版 Kubernetes 集群,对硬件资源没有太高的要求,非常适合 测试 和 本地开发。
架构图:

运作原理:

从 Minikube 的架构中可以看出 master 节点与其它节点合为一体,而整体则通过宿主机上的 kubectl 进行管理,这样可以更加 节省资源。
简单来说就是,用户使用 Minikube CLI 管理虚拟机上的 Kubernetes 环境,比如:启动,停止,删除,获取状态等。一旦 Minikube 虚拟机启动,用户就可以使用熟悉的 Kubectl CLI 在 Kubernetes 集群上执行操作。
三、Minikube安装
3.1. 系统要求

- CUP:2核以上
- 内存:2GB以上
- 硬盘:需要20G
- 网络:能连因特网(需要下载安装包),
- 容器:需要先安装Docker或其他容器。
3.2. 安装前准备
3.2.1. 安装 Docker
安装步骤参考:https://www.runoob.com/docker/centos-docker-install.html
docker 的最低建议版本为 20.10.0 以上
配置阿里云加速器:https://cr.console.aliyun.com/cn-shenzhen

启动 docker:
systemctl start docker
systemctl enable docker.service
3.2.2. 创建新用户
操作 minikube 需要一个具有 root 权限的用户(非root)
需要将该用户添加进入 docker 用户组
- 添加该用户至 docker 用户组:
sudo gpasswd -a 用户名 docker
- 更新 docker 用户组:
newgrp docker
- 添加该用户至 docker 用户组:
3.3. 部署
切换新创建的用户来操作 minikube,我这里创建的用户为 zlt
su zlt
安装步骤参考:https://minikube.sigs.k8s.io/docs/start/
3.3.1. 安装命令

执行以下2个命令,下载并安装 minikube 命令:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
执行命令 minikube version 查看版本号:

3.3.2. 启动集群
执行以下命令:
minikube start --image-mirror-country='cn' --kubernetes-version=v1.23.8
image-mirror-country 为指定使用国内源
kubernetes-version 指定部署的版本(最新版兼容性坑比较多,所以选择低版本)
执行成功如下图所示:

3.3.3. 验证
执行命令 minikube status 查看状态,结果如下:
[zlt@zlt opt]$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
3.3.4. 查看集群状态
可直接使用 minikube 自带的 kubectl 命令。
获取集群所有节点(机器):
minikube kubectl get nodes
获取集群所有命名空间:
minikube kubectl get namespaces
查看集群所有 Pod:
minikube kubectl -- get pods -A
3.3.5. Minikube 常用命令
进入节点服务器:
minikube ssh
执行节点服务器命令,例如查看节点 docker info:
minikube ssh -- docker info
删除集群, 删除 ~/.minikube 目录缓存的文件:
minikube delete
关闭集群:
minikube stop
销毁集群:
minikube stop && minikube delete
四、安装 kubectl
由于 minikube 内置的 kubectl 命令功能不全,所以最好独立安装一个 kubectl
用以下命令下载最新发行版:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
安装 kubectl:
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
查看版本的详细信息:
kubectl version --client --output=yaml
五、安装 dashboard
执行以下命令,启动 dashboard 插件:
minikube dashboard

集群外部想要直接访问 dashboard 还需要设置代理才能访问,执行以下命令:
kubectl proxy --port=8001 --address='192.168.28.138' --accept-hosts='^.*'
--port 需要暴露的端口号
--address 服务器外网IP(宿主机IP)
--accept-hosts 外部访问服务器的IP(白名单)
这样就可以在浏览器上通过以下地址访问 Kubernetes Dashboard:
http://192.168.28.138:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

扫码关注有惊喜!

基于minikube快速搭建kubernetes单节点环境的更多相关文章
- 环境搭建-ELK单节点环境搭建(02)
写在前面 常说:"工欲善其事必先利其器",这话想想也是一点毛病也没有,在开始学习任何技术之前,我们总得有一个实际可供操作的实验环境.有人说,"看十遍不如用一遍" ...
- kubeadm快速部署Kubernetes单节点
1. 安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬 ...
- 快速搭建rabbitmq单节点并配置使用
安装erlang环境 wget http://erlang.org/download/otp_src_20.3.tar.gz tar xf otp_src_20.3.tar.gz && ...
- kubernetes 单节点和多节点环境搭建
kubernetes单节点环境搭建: 1.在VMWare Workstation中建立一个centos 7虚拟机.虚拟机的配置尽量调大一些 2.操作系统安装完成后,关闭centos 自带的防火墙服务 ...
- 【Kubernetes学习笔记】-使用Minikube快速部署K8S单机学习环境
介绍 https://minikube.sigs.k8s.io/docs/ Minikube 用于快速在本地搭建 Kubernetes 单节点集群环境,它对硬件资源没有太高的要求,方便开发人员学习试用 ...
- ASP.NET Core on K8S学习初探(1)K8S单节点环境搭建
当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务+工具服务)已经很多了,而我司目前没有专业的运维人员,发现运维的成本逐渐开始上来,所以容器编排也就需要提上议程.因此我决定 ...
- 基于 Jenkins 快速搭建持续集成环境--转
源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...
- 使用 kind 快速搭建 kubernetes 环境
使用 kind 快速搭建 Kubernetes 环境 Intro kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适合用来在 ...
- 使用Minikube运行一个本地单节点Kubernetes集群(阿里云)
使用Minikube运行一个本地单节点Kubernetes集群中使用谷歌官方镜像由于某些原因导致镜像拉取失败以及很多人并没有代理无法开展相关实验. 因此本文使用阿里云提供的修改版Minikube创建一 ...
- 使用Minikube运行一个本地单节点Kubernetes集群
使用Minikube是运行Kubernetes集群最简单.最快捷的途径,Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用. ⒈安装Minikube Mi ...
随机推荐
- 用最少的代码模拟gRPC四种消息交换模式
我们知道,建立在HTTP2/3之上的gRPC具有四种基本的通信模式或者消息交换模式(MEP: Message Exchange Pattern),即Unary.Server Stream.Client ...
- 2022csp普及组真题:乘方(pow)
2022csp普及组真题:乘方(pow) 题目 [题目描述] 小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数 a 和 b ,求 a^b 的值是多少. a^b 即 b 个 a 相乘的 ...
- 在C#中使用Halcon开发视觉检测程序
目录 简介 将 HALCON/.NET 添加到应用程序 添加控件 引用dll 调用Halcon算子 程序示例 HSmartWindowControl控件使用 加载.保存图像 扩展:加载相机图像 画线. ...
- JSON提取器中串联一个接口的多个值传给下个接口(compute concatenation var的实际使用场景)
实际场景:某功能在前端支持选择多条数据后点击提交,表现在接口是,一次传了多个Id. 问题:需要将上个接口的多个Id串联,传给提交接口. 处理方式:通过JSON提取器勾选:compute concate ...
- 【每日一题】2021年12月6日-剑指 Offer 22. 链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1.2.3.4.5.6 ...
- 锂电池3.7V转3V,1.5V的稳压和降压芯片
3.7V是常规我们知道的锂电池多,一般锂电池的放电电压是3V-4.2V之间,再降压转3V,1.5V的话,不需要担心升降压等其他问题,不像输出3.3V时,可能要考虑到升降压芯片的问题了,升降压芯片可考虑 ...
- DC-9靶场练习
Vulnhub靶场-DC-9 准备工作 kali和靶机都选择NAT模式(kali与靶机同网段) 下载链接:https://download.vulnhub.com/dc/DC-9.zip 一.主机发现 ...
- 对一个序列双重argsort的含义
学习笔记:由numpy.argsort()引发的思考 一.numpy.argsort() 函数定义 函数的定义 首先函数的定义比较简洁: argsort()函数是将x中的元素从小到大排列,提取其对应的 ...
- kali开启ssh并开机自启
安装和启用SSH Kali默认是没有安装ssh和启用ssh的 我们需要先安装:apt install ssh 然后vim /etc/ssh/sshd_config (如果不需要启用Root登陆可以跳过 ...
- C#调用接口的简单流程
1.编写url地址 string url="http://192.168"; 2.创建http请求对象 HttpWebRequest request = (HttpWebReque ...