日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

持续集成之应用k8s自动部署

發布時間:2023/12/4 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 持续集成之应用k8s自动部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

持續集成之應用k8s自動部署

Intro

上次我們提到了docker容器化及自動化部署[1],這僅僅適合個人項目或者開發環境部署,如果要部署到生產環境,必然就需要考慮很多因素,比如訪問量大了如何調整部署,如何更好的應對大并發的情況,如何不停機更新應用,如果想要將Docker應用于具體的業務實現,是存在困難的——編排、管理和調度等各個方面,都不容易。于是,人們迫切需要一套管理系統,對Docker及容器進行更高級更靈活的管理,于是 k8s 就出現了。

K8S,就是基于容器的集群管理平臺,它的全稱,是kubernetes。

k8s 十分強大,可以幫助我們很方便的實現應用的伸縮,也可以很輕易的實現不停機更新,更好更方便的實現服務高可用,還有很多很實用的功能,例如服務發現/負載均衡/配置中心等,更多 k8s 的介紹請參考https://www.kubernetes.org.cn/docs[2]

k8s 自動部署介紹

這里只是我自己的一些實踐,不一定是最合適的,僅供參考。

自動部署流程:

?自己在 k8s 集群上手動創建 deployment 和 service?CI 自動構建新的 docker 鏡像?CI 推送新的 docker 鏡像到 docker hub 或者自己的 docker registry?更新 k8s 應用對應的 deployment 的鏡像

示例應用

這里有一個?示例應用[3]

?

在部署了 k8s 集群環境的服務器上部署應用

wget https://raw.githubusercontent.com/WeihanLi/AccountingApp/dev/accountingapp-k8s-deployment.yaml kubectl apply -f accountingapp-k8s-deployment.yaml

?

配置CI,這里以 Azure Pipeline 為例

Azure pipeline 示例配置:

pool: vmImage: 'Ubuntu 16.04' variables: tagName: '$(Build.BuildNumber)' imageName: '$(dockerId)/accountingapp:$(tagName)' steps: - script: docker build -f Dockerfile -t $(imageName) . displayName: 'Docker build Script' - script: | docker login -u $(dockerId) -p $(pswd) docker push $(imageName) displayName: 'Push docker image' - task: SSH@0 displayName: 'Run shell inline on remote machine' inputs: sshEndpoint: 'weihanli-vm' runOptions: inline inline: | kubectl set image deployment/accountingapp-deployment accountingapp=$(imageName) --record=true?

?

提交代碼觸發CI

docker build -f Dockerfile -t weihanli/accountingapp:20190407.3 . # 此處省略N行代碼... deployment.extensions/accountingapp-deployment image updated

?

查看效果

訪問?示例應用[4],刷新幾次可以看到類似效果。

查看 pod 信息,執行?kubectl get pod?獲取 pod 信息,再使用?kubectl describe pod <podName>?獲取pod的信息確認是否已經成功更新鏡像

Memo

希望對你有幫助,作者水平有限,如有疏漏或者錯誤,還望指出。

References

[1]?docker容器化及自動化部署:?https://www.jianshu.com/p/ce10bb128539[2]:?https://www.kubernetes.org.cn/docs[3]?示例應用:?https://github.com/WeihanLi/AccountingApp[4]?示例應用:?https://accounting.weihanli.xyz/Account/Login?ReturnUrl=%2F

總結

以上是生活随笔為你收集整理的持续集成之应用k8s自动部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。