K3S+K3D=K8S 开发利器快速入门

提示

本文是在没有K8S的基础上去了解和使用K3S,很多点都不会讲到,只是通过自己用到的demo来去理解K3S、K3D及K8S。我会将一些比较好的链接贴在恰当处,方便后续深入了解和使用。

什么是K3S

官网:https://k3s.io/
指南:https://rancher.com/docs/k3s/latest/en/
中文版指南:https://docs.rancher.cn/docs/k3s/_index/
K3s 是一个轻量级的 Kubernetes 发行版,它针对边缘计算、物联网等场景进行了高度优化,易于安装,全部在不到100MB的二进制文件中;非常适合

  • Edge
  • IoT
  • CI
  • Development (用的就是这个)
  • ARM
  • Embedding K8s
  • Situations where a PhD in K8s clusterology is infeasible

可以理解为是K8SLite版,单词比K8S一半还少,所以叫K3S

什么是K3D

官网:https://k3d.io/v5.3.0/
指南:https://k3d.io/v5.3.0/usage/configfile/

k3d 是一个轻量级的包装器,用于在 docker 中运行k3s(Rancher Lab 的最小 Kubernetes 发行版)。
k3d 使得在 docker 中创建单节点和多节点k3s集群变得非常容易,例如在 Kubernetes 上进行本地开发。

对于我们研发人员,我们不希望花太多精力和时间去搭建和维护K8S,那么我们使用K3D就能通过类似docker的方式来快速的构建K3S集群,所以两者加起来就相当于一个K8S了。

安装

我的是mac,直接使用brew安装,K3D官网首页有各种系统的安装方式

brew install k3d

附:brew切换国内镜像
如下代表安装成功
k3d version

NodePort和Ingress的示例

到这里可能还是一脸懵逼的,因为涉及的点太多,也不知道从何下手,那就直接用一个demo来学习:使用集群部署一个可访问的服务,并在宿主机可以访问。
1、首先我们要知道使用k3d创建集群后,宿主机、k3d、k3s是怎样的关系,如下图

就把k3d理解为“docker”

2、使用k3d创建单节点集群架构
为了方便管理,这里使用yaml文件来创建集群,内容如下:

创建一个 server节点为1,agents节点为2的集群,且集群的30080端口映射宿主机的8087端口

附:非常详细的说明

接着我们使用命令k3d cluster create --config cluster.yaml 等待执行完成即可。

我们可以使用k3d cluster list来查看集群的状态,也可以通过kubectl get all --all-namespaces 来查看k3s集群中已经部署了资源

3、区别
nodeport和ingress分别属于k8s中供外部访问的两种方式,nodeport又是service资源的一种类型,其中service分为以下几种类型:

  • ClusterIp:默认类型,自动分配一个仅Cluster内部可以访问的虚拟IP
  • NodePort:在ClusterlP基础上为Service在每台机器上绑定一个端口,这样就可以通过:NodePort 来访问该服务
  • LoadBalancer:在NodePort的基础上࿰
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值