.NET微服務從0到1:部署到K8S

kubernetes(K8S)

K8S是用於自動部署,擴展和管理容器化應用程序的開源系統。

開發環境配置

Kubernetes很多鏡像國內無法穩定訪問,可參見k8s-for-docker-desktop進行配置。

  • 配置成功後先執行命令kubectl version查看kutectl是否安裝成功
    在這裏插入圖片描述
  • 查看Dashboard
    在這裏插入圖片描述
    Windows環境下執行命令獲取登錄令牌
$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN

部署ASP.NET Core應用到K8S

  • 將應用打包成docker鏡像,並push到docker倉庫
docker build -t ImageName:TAG .
docker push ImageName:TAG
  • 先配置一個命名空間
kubectl create namespace aspnetcore
  • 編寫deploy YAML
apiVersion: apps/v1
kind: Deployment
metadata:
  name: skyline-api
  namespace: aspnetcore
  labels:
    k8s-app: skyline-api
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: skyline-api
  template:
    metadata:
      labels:
        k8s-app: skyline-api
    spec:
      containers:
        - name: skyline-api
          image: YourDockerHubId/skyline-api:dev
          ports:
            - containerPort: 80
          imagePullPolicy: Always

---
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: skyline-api
  namespace: aspnetcore
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 80
  selector:
    k8s-app: skyline-api
  • 部署到K8S
kubectl create -f deploy.yml

查看dashboard,可以看到已成功部署
在這裏插入圖片描述
或者直接執行命令

kubectl get svc -n aspnetcore

找到此命名空間下的服務
在這裏插入圖片描述
可以看到運行在30534端口,訪問一下,可以看到已成功獲取到接口數據
在這裏插入圖片描述

參考

15分鐘在筆記本上搭建 Kubernetes + Istio開發環境

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章