Kubernetes實戰 - 從零開始搭建微服務 1 - 使用kind構建一個單層架構Node/Express網路應用程式
阿新 • • 發佈:2020-05-19
# 使用kind構建一個單層架構Node/Express網路應用程式
> Kubernetes實戰-從零開始搭建微服務 1
![k8s structure](https://d33wubrfki0l68.cloudfront.net/152c845f25df8e69dd24dd7b0836a289747e258a/4a1d2/docs/tutorials/kubernetes-basics/public/images/module_02_first_app.svg)
## 前言
準備寫一個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
```
- windows [參考kind官方指南](https://kind.sigs.k8s.io/docs/user/quick-start)
試試執行 `kind --version` 確保kind的安裝正確。
## 2 建立第一個cluster
需要大概2~3分鐘, `kind create cluster`
![kind create](https://img2020.cnblogs.com/blog/795737/202005/795737-20200519075534900-1155991349.jpg)
會建立一個cluster 名字為kind-kind
`kubectl cluster-info` 瞭解下cluster 狀況
```shell
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環境裡搭建好了。