Kubernetes实战 - 从零开始搭建微服务 1 - 使用kind构建一个单层架构Node/Express网络应用程序

时间:2023-12-26 12:52:55

1 使用kind构建一个单层架构Node/Express网络应用程序

Kubernetes实战-从零开始搭建微服务

Kubernetes实战 - 从零开始搭建微服务 1 - 使用kind构建一个单层架构Node/Express网络应用程序

前言

准备写一个Kubernetes实战系列教程,毕竟cnblogs作为国内最早的技术博客现在都已经开始迁移到Kubernetes了,此处要有掌声给博客园。系列会更加偏向于实战,对于理论只在需要时讲解。

Docker hub 上我个人觉着有两个奇葩的镜像image

  1. dind, docker in docker
  2. kind, kubernetes in docker / k8s in docker

很多人对k8s的学习都是从minikube开始,但是,但是,但是,当你亲身对比kind和minikube的时候,会发现kind至少速度*倍(在我这台mac老本上)。

1 准备

需要提前安装好

  • docker
  • kubernetes-cli

安装kind

  • mac
brew install kind
  • linux
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.8.1/kind-$(uname)-amd64
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind

2 创建第一个cluster

需要大概2~3分钟, kind create cluster

Kubernetes实战 - 从零开始搭建微服务 1 - 使用kind构建一个单层架构Node/Express网络应用程序

会创建一个cluster 名字为kind-kind

kubectl cluster-info 了解下cluster 状况

Kubernetes master is running at https://127.0.0.1:51842
KubeDNS is running at https://127.0.0.1:51842/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

其中的链接即使你的k8s control plane

如果再运行docker ps, 至少会有一个kind-control-plane 的container 在运行。

可以再试试以下命令:

  • kind get clusters 获取所有cluster
  • kubectl config get-contexts
  • kubectl get nodes -o wide
  • kubectl get svc

截止目前,一个单节点的k8s集群就在本地的docker环境里搭建好了。