searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

如何快速配置Kubernetes本地测试环境(Vagrant、VirtualBox、Kind)

2023-09-26 01:00:32
42
0

本文选取“Vagrant+VirtualBox+Kind”的方案在本地快速配置Kubernetes测试环境。Vagrant是一个虚拟机管理工具,支持VirtualBox和VMware等虚拟化工具,Kind(Kubernetes in Docker)以容器作为Node构建Kubernetes集群,仅需简单的步骤即可在本地部署一个k8s集群,是新手学习k8s的便捷工具。本文内容包含以下几个部分:

  • 配置虚拟机
  • 安装Docker、Kind、kubectl
  • 用Kind创建第一个k8s集群

1. 配置虚拟机

  • 需要下载的文件(搜索官网进行下载即可):Vagrant、VirtualBox、CentOS虚拟机镜像(box)
  • 执行 vagrant box add 命令添加 box:
    vagrant box add e:\Downloads\CentOS-7.box --name centos-7
    ==> box: Box file was not detected as metadata. Adding it directly...
    ==> box: Adding box 'centos-7' (v0) for provider:
        box: Unpacking necessary files from: file:///e:/Downloads/CentOS-7.box
        box:
    ==> box: Successfully added box 'centos-7' (v0) for 'virtualbox'!

        命令后面跟着的是下载的文件路径,并且通过 --name centos-7 为这个 box 指定一个名字

  • 查询box:
    vagrant box list
    centos-7 (virtualbox, 0)
  • 下载VBoxGuestAddition(需要和VirtualBox版本一致):
  • 创建一个新目录,先执行vagrant init命令:
    mkdir centos7
    cd centos7
    vagrant init centos-7
  • 启动虚拟机:
    vagrant up
    Bringing machine 'default' up with 'virtualbox' provider...
    ==> default: Importing base box 'centos-7'...
    ==> default: Matching MAC address for NAT networking...
    ==> default: Setting the name of the VM: demo_default_1588406874156_65036
    ==> default: Clearing any previously set network interfaces...
    ==> default: Preparing network interfaces based on configuration...
        default: Adapter 1: nat
    ==> default: Forwarding ports...
        default: 22 (guest) => 2222 (host) (adapter 1)
    ==> default: Booting VM...
    ==> default: Waiting for machine to boot. This may take a few minutes...
        default: SSH address: 127.0.0.1:2222
        default: SSH username: vagrant
        default: SSH auth method: private key
  • 连接虚拟机:
    vagrant ssh
  • 关闭虚拟机:
    vagrant halt
  • 重启虚拟机:
    vagrant reload

2. 安装Docker、Kind、kubectl

  • 新建以下脚本用于安装Docker:
    $ cat << EOF > install-docker.sh 
    #!/bin/bash
    set -e
    # centos 一键安装 docker 脚本.
    
    #卸载旧版本
    yum remove -y docker  docker-common docker-selinux docker-engine
    #安装需要的软件包
    yum install -y yum-utils device-mapper-persistent-data lvm2
    #添加yum源
    yum-config-manager --add-repo h提提p://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    #安装最新版docker
    yum install -y docker-ce
    #配置镜像加速器
    mkdir -p /etc/docker
    echo '{
      "registry-mirrors": [
        "h提提ps://reg-mirror.qiniu.com",
        "h提提ps://hub-mirror.c.163.com",
        "h提提ps://mirror.baidubce.com",
        "h提提ps://docker.mirrors.ustc.edu.cn"
      ]
    }' > /etc/docker/daemon.json
    #启动并加入开机启动
    systemctl enable docker --now
    docker version
    echo "docker install finish."
    EOF
  • 运行脚本进行安装:
    $ sh install-docker.sh
  • 安装Kind:
    $ curl -Lo ./kind h提提ps://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
    $ chmod +x ./kind
    $ sudo mv ./kind /usr/local/bin/kind
  • 安装kubectl:
    $ curl -LO "h提提ps://dl.k8s.io/release/$(curl -L -s h提提ps://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    $ chmod +x kubectl
    $ sudo mv kubectl /usr/local/bin

4. 用Kind创建Kubernetes集群

  • 拉取kindest镜像:
    $ docker pull kindest/node:v1.25.3
  • 新建yaml配置文件,此处创建一个主节点一个工作节点:
    $ cat <<EOF > kind2.yaml
    # a cluster with 1 control-plane nodes and 1 workers
    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes:
    - role: control-plane
    - role: worker
    EOF
  • 用yaml配置文件创建集群,通--image指定镜像,--config指定配置文件:
    $ kind create cluster --image kindest/node:v1.25.3 --name kind2 --config kind2.yaml
  • 查看集群:
    $ kind get clusters

  • 查看集群节点:
    $ kind get nodes --name kind2

至此Kubernetes本地测试环境配置完成,可以开始用这套环境开始学习k8s啦!

 
0条评论
0 / 1000
熊****雄
6文章数
0粉丝数
熊****雄
6 文章 | 0 粉丝
原创

如何快速配置Kubernetes本地测试环境(Vagrant、VirtualBox、Kind)

2023-09-26 01:00:32
42
0

本文选取“Vagrant+VirtualBox+Kind”的方案在本地快速配置Kubernetes测试环境。Vagrant是一个虚拟机管理工具,支持VirtualBox和VMware等虚拟化工具,Kind(Kubernetes in Docker)以容器作为Node构建Kubernetes集群,仅需简单的步骤即可在本地部署一个k8s集群,是新手学习k8s的便捷工具。本文内容包含以下几个部分:

  • 配置虚拟机
  • 安装Docker、Kind、kubectl
  • 用Kind创建第一个k8s集群

1. 配置虚拟机

  • 需要下载的文件(搜索官网进行下载即可):Vagrant、VirtualBox、CentOS虚拟机镜像(box)
  • 执行 vagrant box add 命令添加 box:
    vagrant box add e:\Downloads\CentOS-7.box --name centos-7
    ==> box: Box file was not detected as metadata. Adding it directly...
    ==> box: Adding box 'centos-7' (v0) for provider:
        box: Unpacking necessary files from: file:///e:/Downloads/CentOS-7.box
        box:
    ==> box: Successfully added box 'centos-7' (v0) for 'virtualbox'!

        命令后面跟着的是下载的文件路径,并且通过 --name centos-7 为这个 box 指定一个名字

  • 查询box:
    vagrant box list
    centos-7 (virtualbox, 0)
  • 下载VBoxGuestAddition(需要和VirtualBox版本一致):
  • 创建一个新目录,先执行vagrant init命令:
    mkdir centos7
    cd centos7
    vagrant init centos-7
  • 启动虚拟机:
    vagrant up
    Bringing machine 'default' up with 'virtualbox' provider...
    ==> default: Importing base box 'centos-7'...
    ==> default: Matching MAC address for NAT networking...
    ==> default: Setting the name of the VM: demo_default_1588406874156_65036
    ==> default: Clearing any previously set network interfaces...
    ==> default: Preparing network interfaces based on configuration...
        default: Adapter 1: nat
    ==> default: Forwarding ports...
        default: 22 (guest) => 2222 (host) (adapter 1)
    ==> default: Booting VM...
    ==> default: Waiting for machine to boot. This may take a few minutes...
        default: SSH address: 127.0.0.1:2222
        default: SSH username: vagrant
        default: SSH auth method: private key
  • 连接虚拟机:
    vagrant ssh
  • 关闭虚拟机:
    vagrant halt
  • 重启虚拟机:
    vagrant reload

2. 安装Docker、Kind、kubectl

  • 新建以下脚本用于安装Docker:
    $ cat << EOF > install-docker.sh 
    #!/bin/bash
    set -e
    # centos 一键安装 docker 脚本.
    
    #卸载旧版本
    yum remove -y docker  docker-common docker-selinux docker-engine
    #安装需要的软件包
    yum install -y yum-utils device-mapper-persistent-data lvm2
    #添加yum源
    yum-config-manager --add-repo h提提p://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    #安装最新版docker
    yum install -y docker-ce
    #配置镜像加速器
    mkdir -p /etc/docker
    echo '{
      "registry-mirrors": [
        "h提提ps://reg-mirror.qiniu.com",
        "h提提ps://hub-mirror.c.163.com",
        "h提提ps://mirror.baidubce.com",
        "h提提ps://docker.mirrors.ustc.edu.cn"
      ]
    }' > /etc/docker/daemon.json
    #启动并加入开机启动
    systemctl enable docker --now
    docker version
    echo "docker install finish."
    EOF
  • 运行脚本进行安装:
    $ sh install-docker.sh
  • 安装Kind:
    $ curl -Lo ./kind h提提ps://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
    $ chmod +x ./kind
    $ sudo mv ./kind /usr/local/bin/kind
  • 安装kubectl:
    $ curl -LO "h提提ps://dl.k8s.io/release/$(curl -L -s h提提ps://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    $ chmod +x kubectl
    $ sudo mv kubectl /usr/local/bin

4. 用Kind创建Kubernetes集群

  • 拉取kindest镜像:
    $ docker pull kindest/node:v1.25.3
  • 新建yaml配置文件,此处创建一个主节点一个工作节点:
    $ cat <<EOF > kind2.yaml
    # a cluster with 1 control-plane nodes and 1 workers
    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes:
    - role: control-plane
    - role: worker
    EOF
  • 用yaml配置文件创建集群,通--image指定镜像,--config指定配置文件:
    $ kind create cluster --image kindest/node:v1.25.3 --name kind2 --config kind2.yaml
  • 查看集群:
    $ kind get clusters

  • 查看集群节点:
    $ kind get nodes --name kind2

至此Kubernetes本地测试环境配置完成,可以开始用这套环境开始学习k8s啦!

 
文章来自个人专栏
云计算与AI
6 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0