k8s學習筆記(1)- kubectl簡單部署springboot應用


前言:k8s全稱kubernetes,k8s是為容器服務而生的一個可移植容器的編排管理工具,越來越多的公司正在擁抱k8s,並且當前k8s已經主導了雲業務流程,關於更多的k8s知識,可自行學習

1、k8s環境搭建

2、k3s介紹

  • K3s 是由 Rancher Labs 發布的一款開源、極輕量的Kubernetes 發行版,通過了CNCF一致性認證,適用於在資源有限的環境中運行Kubernetes。
  • K3s主要用於部署在資源受限的邊緣計算場景中,也可以在本地運行以進行Kubernetes測試或開發。
  • K3s是為生產環境設計的,因此在PC或筆記本電腦上,K3s是與生產級服務器最接近的選項。
  • 本文的操作的環境采用k3s環境

3、pod介紹

  • Pod是kubernetes中你可以創建和部署的最小也是最簡單位。一個Pod代表着集群中運行的一個進程。
  • Pod中封裝着應用的容器(有的情況下是好幾個容器),存儲、獨立的網絡IP,管理容器如何運行的策略選項。Pod代表着部署的一個單位:kubernetes中應用的一個實例,可能由一個或者多個容器組合在一起共享資源

    image

  • 創建pod的兩種方式
    a. kubectl命令方式
      kubectl run springbootapp --image=xjk27400861/springbootapp:42 --replicas=3
    
    備注:
    --image 鏡像名稱及tag
    --replicas指定副本數量
    b. 文件方式
    創建一個文件,springbootapp.yaml
    執行創建命令構建pod
      sudo kubectl create -f springbootapp.yaml
    

4、使用文件方式,構建pod

  • 創建一個文件,springbootapp.yaml

    image

    文件內容

    image

    文件文本:
      apiVersion: v1
      kind: Pod
      metadata:
        name: springbootapp
        labels:
          app: springbootapp
      spec:
        containers:
          - name: springbootapp
            image: xjk27400861/springbootapp:42
            ports:
              - containerPort: 8080
    
    備注:
    image 指定鏡像及tag
    containerPort 指定容器釋放端口
  • 執行kubectl命令,構建pod
      sudo kubectl create -f springbootapp.yaml
    

    image

    過一會,通過命令sudo kubectl get pods,可以查看到pod已創建成功
  • pod是運行在k8s內部,不能直接訪問,我們需要再部署一個類似“反向代理”角色的Pod來幫我們訪問應用。這個Pod是Service類型的
  • 創建一個svc代理的yaml文件:springbootapp-svc.yaml,寫入內容

    image

  • 輸入命令,構建svc的pod
      sudo kubectl create -f springbootapp-svc.yaml
      or
      sudo kubectl create -f springbootapp-svc.yaml -n springboot
    

    image

  • 我們可以通過命令,查看svc pod的狀態
      kubectl get svc -n springboot
    

    -n 指定命名空間,不寫默認default

  • 在k3s任意節點,通過url可以看到app可以訪問

    image

  • 進入pod命令,與docker命令類似:
      sudo kubectl exec -it springbootapp bash
    
  • 至此,我們完成了一個簡單應用的部署,這是一個單體應用
    參考資料url:

    https://www.cnblogs.com/demingblog/p/12905569.html
    https://blog.51cto.com/loong576/2420421


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM