k8sday02搭建kubernetes集群(1/2)

目录

一、搭建方案

①minikube(学习使用,更轻量化)

②kubeadm(生产使用,消耗资源大)

③二进制安装(可能会有意外问题)

④命令行工具(可能会有意外问题)

二、准备工作

1、服务器要求

2、软件环境的搭建

①Docker版本:20以上

②操作系统:WSL2的 Ubuntu(也可以是centos等)

③k8s:1.23.6

3、安装基础软件(以我的最终方案为例)

①安装docker

Ⅰ、下载并安装docker

Ⅱ、验证docker安装

②安装 Kind

Ⅰ、下载并安装kind

Ⅱ、验证kind安装

③安装kubectl

Ⅰ、下载并安装kubectl

Ⅱ、验证kubectl安装

④安装minikube(如果你有多台虚拟机就可以选择安装这个)【可选】

Ⅰ、下载minikube

Ⅱ、复制minikube文件

Ⅲ、添加到 PATH

Ⅳ、验证minikube安装

⑤添加阿里云yum源【可选】

⑥安装kubelet、kubedm【可选】


一、搭建方案

①minikube(学习使用,更轻量化)
②kubeadm(生产使用,消耗资源大)
③二进制安装(可能会有意外问题)
④命令行工具(可能会有意外问题)

上方的搭建方案我最先开始选择使用minikube,同时由于我已经在Windows系统安装了docker和minikube,WSL2环境中已安装了两个分发版(docker-desktop 和 Ubuntu),所以我选择直接通过WSL2中安装kubectl来管理集群

最终实现:在Windows本地下载minikube,然后在Ubuntu中下载kubectl,满足对k8s集群搭建的要求

以下是我的跨系统网络的连接原理:

但是考虑到我只有一台笔记本,要想较完整搭建出k8s集群,以产出一定项目,并支撑我学习,我的最终方案选择使用kind(Kubernetes in Docker)搭建集群

特性+功能Kind (Kubernetes in Docker)Minikube
底层技术Docker 容器模拟节点虚拟机或容器
节点隔离性容器间共享主机内核,轻量但隔离性较弱虚拟机完全隔离,安全性更高
多节点集群✅ 原生支持❌ 仅单节点(需插件扩展)
Ingress 控制器⚠️ 需手动安装(如 Nginx Ingress)✅ 内置 ingress 插件

当然我在以下的内容也有提供minikube的安装下载,不过还是以kind搭建集群为主

二、准备工作

1、服务器要求

最好是有多台虚拟机,但是如果和我一样穷,只有个笔记本(可联网方便下镜像、硬件2核CPU、2G内存、20G硬盘,现在市场的笔记本大多都是可以满足要求哒~),那就跟着我通过自带的wsl一起实现以下步骤吧~~

注意要完成k8s集群的搭建,最少要有两台虚拟机,一台master,一台slave(node),我只有一台物理机,所以要实现多台虚拟机的运行,要使用kind通过在单个虚拟机中启动多个 Docker 容器,每个容器模拟一个独立的 Kubernetes 节点。

当然如果你有多台虚拟机可以直接通过minikube搭建集群

2、软件环境的搭建

①Docker版本:20以上

docker的安装在这里就不多赘述,如有需要可以看我在nginx实操中的准备工作,现在只演示②和③

②操作系统:WSL2的 Ubuntu(也可以是centos等)

可以参考类似如下命令行进行安装不同版本Ubuntu

    # 版本自行选择
     wsl --install -d Ubuntu-22.04
     wsl --set-default-version 2
③k8s:1.23.6

注意这里是因为k8s比这再高一些的版本弃用docker,采用containerd/CRI-O,我现在只会docker所以没有转向Containerd(通用)或CRI-O(轻量),如果你会Containerd(通用)或CRI-O(轻量),可以采用更高版本的k8s进行集群搭建

3、安装基础软件(以我的最终方案为例)

Kind 通过 Docker 容器模拟 Kubernetes 节点,每个节点(控制平面或工作节点)都是一个 Docker 容器。这些容器内部已经预装了:

  • kubelet(Kubernetes 节点代理)

  • kubeadm(用于初始化集群)

  • containerd(容器运行时)

  • kubectl(集群管理工具,仅在控制平面容器内)

我只需要完成docker、kind、kubectl的安装即可

①安装docker

本步骤有两个方案:

方案一、WSL2 内的 Ubuntu中安装docker,Kind 直接使用 WSL2 的 Docker,性能高,复杂度低

方案二、Windows 主机(Docker Desktop)中安装,需要额外配置,可能性能稍低,性能中,复杂度中

我已经在Windows主机安装了docker,但为了更高效的配置,我选择方案一(在Ubuntu中再安装docker)

Ⅰ、下载并安装docker
  # 进入Ubuntu
      wsl -d Ubuntu
      
    # 卸载旧版本的docker(如有)
    # systemctl status docker可查看你是否有旧版本docker
    # 有则显示详细信息,无则显示Unit docker.service could not be found.
     sudo apt-get remove docker docker-engine docker.io containerd runc
  ​
     # 安装依赖
     # 使用sudo命令第一次会要求输入你创建Ubuntu管理员时设置的密码
     sudo apt-get update
     sudo apt-get install -y ca-certificates curl gnupg lsb-release
  ​
     # 添加 Docker 官方的 GPG 密钥
     # 确保从 Docker 官方仓库下载的软件包是可信的
     sudo mkdir -p /etc/apt/keyrings
     curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  ​
     # 设置 Docker 仓库
     echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  ​
     # 安装 Docker
     # 根据你的网络,下载安装docker的时间因人而异
     sudo apt-get update
     sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
  ​
     # 将当前用户加入 Docker 组(避免每次用 sudo)
     sudo usermod -aG docker $USER
     newgrp docker  # 刷新组权限(或重新登录终端)

如果你因为网络问题无法访问https://download.docker.com,可以尝试使用国内的 Docker 镜像源就是将你设置仓库的代码换成下面的代码

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Ⅱ、验证docker安装
    docker --version
    # 或使用docker ps查看已运行的镜像

当输出你下载的docker版本信息则下载成功,如下图:

安装 Kind
Ⅰ、下载并安装kind
  
    # 下载 Kind 二进制文件
    # 下载的时间也是和每个人的网络有关哦~
    curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.22.0/kind-linux-amd64
    chmod +x ./kind
    sudo mv ./kind /usr/local/bin

如图:

Ⅱ、验证kind安装
    # 验证安装
    kind --version

输出你下载的kind版本即成功,如图:

③安装kubectl
Ⅰ、下载并安装kubectl
  • 进入Ubuntu并下载kubectl

  #查看已有wsl分发,确保有Ubuntu
  wsl --list --verbose
  ​
  #进入Ubuntu
  wsl -d Ubuntu
  ​
  #下载kubectl
  curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
  ​
  # 赋予执行权限
  chmod +x kubectl
  ​
  # 移动到系统PATH(全局可用)
  # 这一步可能需要你自己设置的管理员密码
  sudo mv kubectl /usr/local/bin/
Ⅱ、验证kubectl安装
  • 当得到类似以下的结果说明安装成功

    Client Version: v1.33.3Kustomize Version: v5.6.0

④安装minikube(如果你有多台虚拟机就可以选择安装这个)【可选】
Ⅰ、下载minikube
  • 打开github,直接搜minikube即可,最多星的就是官方,有提供下载文件

  • 进入下载区域,直接划到最下方的Assets,找到适合自己版本的minikube

  • 我选择的是minikube-windows-amd64.exe,实在不知道下载哪个,可以直接去问ai

  • 记得选择好你要下载的路径

Ⅱ、复制minikube文件
  • 在你下载好的路径下创建一个文件夹并命名好,如叫minikube.exe

  • 将minikube-windows-amd64.exe复制一份并重命名为minikube.exe到刚刚创建的文件夹内

Ⅲ、添加到 PATH
  • 打开“控制面板” > “系统和安全” > “系统” > “高级系统设置” > “环境变量”。

  • 在“系统变量”中找到 Path,点击“编辑”。

  • 点击“新建”,输入 你刚刚复制minikube文件的路径,然后点击“确定”保存更改。

Ⅳ、验证minikube安装
 minikube version

​ 输出你安装的minikube版本就是安装成功

⑤添加阿里云yum源【可选】

Kind (Kubernetes in Docker) 直接使用 Docker 镜像拉取 Kubernetes 组件,无需手动添加阿里云 YUM 源或配置软件包仓库。

⑥安装kubelet、kubedm【可选】

PS:明天完成剩下的部分,即kind集群的完整搭建,验证集群,访问集群等等,今天主要是找到适合自己的k8s集群搭建方法,这花了我比较长的时间呢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值