win10利用WSL2安装windows版kubernetes集群

本文介绍了如何在Windows 10上利用WSL2部署Kubernetes集群,包括使用kind和minikube两种方式。在安装过程中,可能会遇到docker报错和systemd缺失的问题,文中给出了相应的解决方案。
摘要由CSDN通过智能技术生成

前言

Kubernetes成为事实上的云原生平台,用于在分布式环境中运行容器化服务和应用程序。尽管可以在在云环境(公有云,私有云或混合云)或裸机环境中部署Kubernetes,但有时仍然需要在本地部署和运行Kubernetes进行开发测试。

Kubernetes最初被设计为在Linux环境中部署和使用。但是,大量用户是使用Windows OS作为其日常驱动程序,本文探讨利用windows10的WLS2功能,使用Kind或Minikube在本地运行Kubernetes集群。

在安装windows版kubernetes集群时,需要先在win10上面开启WSL2功能和安装docker,可以参考这篇文章的姊妹篇- win10利用WSL2安装docker的2种方式,链接地址:https://www.toutiao.com/i6838436149912928772/

部署安装

kind方式

  • 启动docker服务(可选)

      #使用的为linux原生docker方式,如果使用docker desktop for windows,此步骤可选
      service docker start
    
  • 下载kind二进制文件

      curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/v0.8.1/kind-$(uname)-amd64
      #标记为可执行文件
      chmod +x ./kind
      #移动到 PATH 目录下去
      mv ./kind /usr/bin/
    
  • 开始创建集群

      kind create cluster --name wsl2-k8s
    

image-20200615185936062

  • 检查启动kubernetes集群的容器启动正常

      docker ps
    

    image-20200615192425468

    我们发现kind下载了kindest/node:v1.18.2镜像并用此镜像启动容器,kubernetes集群运行在此容器内,这也是kind名字的由来(kubernetes in docker)。如上图,kube-apiserver的6443端口暴露到docker宿主机的37293端口。

    exec到该容器,我们发现容器内启动的kubernetes进程。

    image-20200615210354754

  • 拷贝kubectl二进制文件到docker宿主机

      id=$(docker ps |grep "kindest\/node"|awk '{print $1}')
      docker cp $id:/kind/bin/kubectl /usr/bin/
      kubectl get node
    

    image-20200615205748992

如上图,一个单节点的kubernetes集群就创建好了,那如何创建多节点kubernetes集群呢

  • 创建多节点kubernetes集群

    • 删除现有集群

        #获取创建的集群名字
        kind get clusters
        #删除集群
        kind delete cluster --name wsl2-k8s
      
    • 创建一个3节点集群的配置文件

      cat << EOF > kind-3nodes.yaml
        kind: Cluster
        apiVersion: kind.x-k8s.io/v1alpha4
        nodes:
          - role: control-plane
          - role: worker
          - role: worker
        EOF
      
    • 使用配置文件创建新的集群

      kind create cluster --name wsl2-3nodes --config ./kind-3nodes.yaml
      

      在实际创建中,会报错“ docker: Error response from daemon: cgroups: cannot find cgroup mount destination: unknown”问题,这是因为使用的linux原生的docker会有此问题,如果使用docker desktop for windows,没有此问题出现,可以通过如下办法解决:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值