首页 > 其他分享 >基于minikube快速搭建kubernetes单节点环境

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

时间:2023-02-20 09:55:34浏览次数:68  
标签:kubectl Minikube kubernetes -- 集群 minikube docker 节点

一、说明

本文主要介绍在 Centos7 环境下基于 Minikube 来快速部署 Kubernetes 单节点集群环境,并在浏览器上访问部署在 k8s 上的 dashboard 服务。

 

二、Minikube 介绍

Minikube 是一个基于go语言开发,易于在本地运行 Kubernetes 的工具,可在你的笔记本电脑上的虚拟机内轻松创建单机版 Kubernetes 集群,对硬件资源没有太高的要求,非常适合 测试本地开发

官方文档:https://minikube.sigs.k8s.io/docs/

架构图:

运作原理:

从 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
      

 

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/

 

扫码关注有惊喜!

file

标签:kubectl,Minikube,kubernetes,--,集群,minikube,docker,节点
From: https://www.cnblogs.com/zlt2000/p/17136336.html

相关文章

  • K8S多节点部署
    一、k8s多节点部署(接上篇博客)1、环境准备服务器ip组件k8s集群master01192.168.142.3kube-apiserver、kube-controller-manager、kube-scheduler、etcdk8s集......
  • 代码随想录算法Day16 | 104.二叉树的最大深度 ,559.n叉树的最大深度 , 111.二叉树的最小
     104.二叉树的最大深度 题目链接: 104.二叉树的最大深度-力扣(LeetCode)题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的......
  • kubeadm方式部署Kubernetes集群
    目录初始化准备安装kubeadm初始化Master集群将新的Node节点加入集群部署CNI网络插件其他配置初始化准备1、关闭防火墙Centos7默认启动了防火墙,而Kubernetes的Master与N......
  • [kubernetes]集群中部署CoreDNS服务
    前言从k8s1.11版本开始,k8s集群的dns服务由CoreDNS提供。之前已经使用二进制文件部署了一个三master三node的k8s集群,现在需要在集群内部部署DNS服务。环境信息IP......
  • Kubernetes集群部署Prometheus和Grafana
    一、环境规划K8S集群角色Ip主机名控制节点192.168.84.155master1工作节点192.168.84.156node1工作节点192.168.84.157node......
  • 代码随想录打卡第4天 |两两交换链表中的节点,删除链表的倒数第N个节点,链表相交,环形链表
    两两交换链表节点1,三指针 pre指向要交换的两点之前,cur指向一节点,temp指向下一节点 2,交换完时while(pre.next!=null&&pre.next.next!=null)删除倒数......
  • LeetCode:两两交换链表中的节点
    题目描述:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。解题思路:为了方便寻找返回的......
  • Kubernetes(七)
    一、日志收集案例-容器内置日志收集容器内置日志收集架构应用程序以tomcat为例,实现方法如下:1.1构建镜像1.1.1准备基础tomcat镜像tomcat基础镜像构建参考:5.1.2tom......
  • 【云原生kubernetes】k8s service使用详解
    一、什么是服务service?在k8s里面,每个Pod都会被分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失,重启pod的ip地址会发生变化,此时客户如果访问原先的ip地址则会报错;S......
  • k8s学习-重启master与node节点
    总结一次在工作中维护k8s集群,对master和node节点进行重启的操作node节点重启检查待驱逐node和该pod的情况#查看待驱逐node节点是否在集群中kubectlgetnode-owide|grep......