springboot項(xiàng)目部署到k8s上的方法步驟
springboot部署到k8s步驟
springboot項(xiàng)目打包鏡像部署到鏡像倉(cāng)庫(kù)
登錄私有鏡像倉(cāng)庫(kù),拉去鏡像
創(chuàng)建deployment
暴露服務(wù)訪問(wèn)端口
上篇文章已講過(guò) springboot構(gòu)建docker鏡像并推送到阿里云
創(chuàng)建secret
登錄私有倉(cāng)庫(kù)需要?jiǎng)?chuàng)建secret,存儲(chǔ)docker registry的認(rèn)證信息
創(chuàng)建secret
~$ kubectl create secret docker-registry fdf-docker-secret --docker-server=registry.cn-chengdu.aliyuncs.com --docker-username=17602117026 --docker-password=用戶(hù)密碼 secret/fdf-docker-secret created ~$ ~$ ~$ kubectl get secret NAME TYPE DATA AGE fdf-docker-secret kubernetes.io/dockerconfigjson 1 15s
創(chuàng)建好之后,后續(xù)需要掛載到pod上
創(chuàng)建deployment的yaml文件
快速創(chuàng)建一個(gè)deployment,導(dǎo)出yaml文件
~$ kubectl create deployment k8sdemo --image=registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0 --dry-run=client -o yaml > k8sdemo.yaml ~$ cat k8sdemo.yaml apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: k8sdemo name: k8sdemo spec: replicas: 1 selector: matchLabels: app: k8sdemo strategy: {} template: metadata: creationTimestamp: null labels: app: k8sdemo spec: containers: - image: registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0 name: k8s-test resources: {} status: {} ~$
修改k8sdemo.yaml文件
#1.修改副本數(shù)量為2 #2.掛在secret apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: k8sdemo name: k8sdemo spec: replicas: 2 selector: matchLabels: app: k8sdemo strategy: {} template: metadata: creationTimestamp: null labels: app: k8sdemo spec: imagePullSecrets: - name: fdf-docker-secret containers: - image: registry.cn-chengdu.aliyuncs.com/fandf/k8s-test:1.0.0 name: k8s-test resources: {} status: {}
創(chuàng)建deployment
~$ kubectl apply -f k8sdemo.yaml deployment.apps/k8sdemo created ~$ kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE k8sdemo 0/2 2 0 12s ~$ kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE k8sdemo 2/2 2 2 24s ~$ kubectl get pod NAME READY STATUS RESTARTS AGE k8sdemo-65d45fb49f-l4kx5 1/1 Running 0 28s k8sdemo-65d45fb49f-pqsjw 1/1 Running 0 28s
創(chuàng)建service, nodePort
#port 服務(wù)端口 target-port pod端口 ~$ kubectl expose deploy k8sdemo --port=9001 --target-port=9001 --type=NodePort service/k8sdemo exposed ~$ ~$ kubectl get svc k8sdemo NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE k8sdemo NodePort 10.96.10.79 <none> 9001:31921/TCP 12s ~$ curl http://127.0.0.1:31921/api/v1/user/name zhangsan
可以看到serviced的ip為10.96.10.79 對(duì)外端口為 31921,安全組需開(kāi)放該端口才能訪問(wèn)
到這里我們服務(wù)部署就算完成了,看一下所有的節(jié)點(diǎn)
~$ kubectl get secret,pod,svc,deploy NAME TYPE DATA AGE secret/fdf-docker-secret kubernetes.io/dockerconfigjson 1 52m NAME READY STATUS RESTARTS AGE pod/k8sdemo-65d45fb49f-l4kx5 1/1 Running 0 39m pod/k8sdemo-65d45fb49f-pqsjw 1/1 Running 0 39m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/k8sdemo NodePort 10.96.10.79 <none> 9001:31921/TCP 5m51s service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 301d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/k8sdemo 2/2 2 2 39m ~$
到此這篇關(guān)于springboot項(xiàng)目部署到k8s上的方法步驟的文章就介紹到這了,更多相關(guān)springboot部署到k8s內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java數(shù)組的定義、初始化、及二維數(shù)組用法分析
這篇文章主要介紹了Java數(shù)組的定義、初始化、及二維數(shù)組用法,結(jié)合具體實(shí)例形式分析了java數(shù)組概念、功能、數(shù)組定義、靜態(tài)數(shù)組、動(dòng)態(tài)數(shù)組、二維數(shù)組等相關(guān)使用技巧,需要的朋友可以參考下2019-01-01Spring?Data?JPA命名約定查詢(xún)實(shí)現(xiàn)方法
這篇文章主要為大家介紹了Spring?Data?JPA命名約定查詢(xún)實(shí)現(xiàn)方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Java多線程編程實(shí)戰(zhàn)之模擬大量數(shù)據(jù)同步
這篇文章主要介紹了Java多線程編程實(shí)戰(zhàn)之模擬大量數(shù)據(jù)同步,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02java實(shí)現(xiàn)系統(tǒng)托盤(pán)示例
桌面的系統(tǒng)托盤(pán)即當(dāng)程序最小化或者關(guān)閉按鈕程序并沒(méi)有退出,而是最小化在任務(wù)狀態(tài)區(qū)域,下面是使用java實(shí)現(xiàn)系統(tǒng)托盤(pán)示例2014-03-03SpringBoot中的PropertySource原理詳解
這篇文章主要介紹了SpringBoot中的PropertySource原理詳解,PropertySource?是一個(gè)非常重要的概念,它允許您在應(yīng)用程序中定義屬性,并將這些屬性注入到?Spring?環(huán)境中,需要的朋友可以參考下2023-07-07解決springcloud阿里云OSS文件訪問(wèn)跨域問(wèn)題的實(shí)現(xiàn)
本文主要介紹了解決springcloud阿里云OSS文件訪問(wèn)跨域問(wèn)題的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06java實(shí)現(xiàn)文件切片上傳百度云+斷點(diǎn)續(xù)傳的方法
文件續(xù)傳在很多地方都可以用的到,本文主要介紹了java實(shí)現(xiàn)文件切片上傳百度云+斷點(diǎn)續(xù)傳的方法,?文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12詳解Java動(dòng)態(tài)字節(jié)碼技術(shù)
Java字節(jié)碼增強(qiáng)指的是在Java字節(jié)碼生成之后,對(duì)其進(jìn)行修改,增強(qiáng)其功能,可減少冗余代碼,提高性能等。本文將詳細(xì)介紹Java動(dòng)態(tài)字節(jié)碼技術(shù)。2021-05-05通過(guò)實(shí)例了解Java jdk和jre的區(qū)別
這篇文章主要介紹了通過(guò)實(shí)例了解Java jdk和jre的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05