作者|段超
起源|尔达 Erda 公众号

导读:Erda 作为一站式云原生 PaaS 平台,现已面向宽广开发者实现 70w+ 外围代码全副开源!在 Erda 开源的同时,咱们打算编写《基于 K8s 的云原生 PaaS 平台基础架构》系列文章,心愿咱们的一点教训能够帮忙更多企业欠缺 PaaS 平台基础架构的建设。

系列文章举荐:

  • 《系列好文 | Kubernetes 弃用 Docker,咱们该何去何从?》
  • 《我能够减肥失败,但我的 Docker 镜像肯定要瘦身胜利!》

Kind (Kubernets in Docker),是一个能够疾速在本地部署一套 K8s 的工具,非常适合本地部署调试或者想要体验最新版本 K8s 的场景。

简略创立

brew install kindkind create cluster --name testCreating cluster "kind" ... ✓ Ensuring node image (kindest/node:v1.13.4)   ✓ Preparing nodes    ✓ Creating kubeadm config    ✓ Starting control-plane  ️ Cluster creation complete. You can now use the cluster with:[root@node-2 ~]# kubectl get nodeNAME                 STATUS   ROLES    AGE   VERSIONkind-control-plane   Ready    master   99s   v1.13.4

默认会创立一个单节点的集群,想要创立更简单的集群?配置文件走起。

创立一个特定版本 K8s 的集群

配置文件

kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-plane  image: kindest/node:v1.18.15@sha256:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4- role: worker  image: kindest/node:v1.18.15@sha256:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4- role: worker  image: kindest/node:v1.18.15@sha256:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4

创立集群

kind create cluster --name kind --config  cluster.yaml

其余版本的集群,其镜像列表见这里。

创立一个蕴含 Ingress 的集群

配置文件

kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-plane  image: kindest/node:v1.18.15@sha256:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4  kubeadmConfigPatches:  - |    kind: InitConfiguration    nodeRegistration:      kubeletExtraArgs:        node-labels: "ingress-ready=true"  extraPortMappings:    - containerPort: 80    hostPort: 80    protocol: TCP  - containerPort: 443    hostPort: 443    protocol: TCP- role: worker  image: kindest/node:v1.18.15@sha256:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4- role: worker  image: kindest/node:v1.18.15@sha256:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4

  • extraPortMappings allow the local host to make requests to the Ingress controller over ports 80/443

创立集群

 kind create cluster --name kind-ingress --config  cluster.yaml

部署 Ingress

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml

装置完后就能够在本地拜访 Ingress 了

curl http://127.0.0.1curl -k https://127.0.0.1:443

可玩性

kind 采纳容器来模仿 node 节点,因而能够到容器外面进行 node 相干的操作,比方批改 kube-apiserver 的配置文件,查看 etcd 等。


如果对于 Erda 你有更多想要理解的内容,欢送增加小助手微信(Erda202106)进入交换群探讨,或者间接点击下方链接理解更多!

  • Erda Github 地址:https://github.com/erda-project/erda
  • Erda Cloud 官网:https://www.erda.cloud/