成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用阿里云免費鏡像倉庫,實現(xiàn)微服務(wù)的K8s部署

開發(fā) 前端
今天的內(nèi)容給大家介紹下如何利用阿里云提供的免費私人容器鏡像服務(wù),來實現(xiàn)對個人項目容器鏡像的管理,以及通過k8s集群來發(fā)布阿里云私人容器鏡像服務(wù)中管理的服務(wù)。

[[422218]]

今天的內(nèi)容給大家介紹下如何利用阿里云提供的免費私人容器鏡像服務(wù),來實現(xiàn)對個人項目容器鏡像的管理,以及通過k8s集群來發(fā)布阿里云私人容器鏡像服務(wù)中管理的服務(wù)。本文適合個人及創(chuàng)業(yè)團(tuán)隊學(xué)習(xí)/使用基于容器、鏡像倉庫、k8s等云原生技術(shù)時的參考。

創(chuàng)建阿里云個人版容器鏡像實例

一般來說大型企業(yè)都會自己搭建內(nèi)部私有鏡像倉庫(例如Harbor),但對于小公司來說也可以直接使用云服務(wù)提供的容器鏡像服務(wù)。接下來以阿里云免費提供的個人版容器鏡像服務(wù),演示容器鏡像服務(wù)的具體使用。步驟如下:

(1)、登錄阿里云,點擊->控制臺->找到“容器鏡像服務(wù)”,如下圖所示:

如果入口比較難找,可以直接在阿里云搜索框搜索“容器鏡像服務(wù)”。阿里云提供收費的企業(yè)版實例,也提供限制使用的個人版實例。這里選擇個人版實例。

(2)、創(chuàng)建成功后,設(shè)置鏡像倉庫登陸密碼。如下圖所示:

提示:

設(shè)置一個自己能記住的密碼,例如我這里設(shè)置的是“wudimanong”。

(3)密碼設(shè)置成功后,點擊“創(chuàng)建鏡像倉庫”,最終效果如下圖所示:

選擇本地倉庫,后面通過本地構(gòu)建直接將Docker鏡像推送至阿里云私有鏡像倉庫。

之后就可以根據(jù)提示登錄該阿里云鏡像倉庫,并向其中Push鏡像了。

配置k8s集群與鏡像倉庫的連接

創(chuàng)建私有鏡像倉庫之后,為了安全設(shè)置了用戶名及密碼,如果k8s集群需要從鏡像倉庫拉取鏡像,則每次都需要登陸是很麻煩的,所以可以進(jìn)行相關(guān)設(shè)置。

Kubernetes 集群使用 docker-registry 類型的 Secret 來通過容器倉庫的身份驗證,進(jìn)而提取私有映像。

創(chuàng)建Secret,命名為 regcred:

  1. # kubectl create secret docker-registry regcred  --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=jqadmin --docker-password=wudimanong 
  2. secret/regcred created 

提示:

上述賬號密碼為你自己創(chuàng)建鏡像倉庫時設(shè)置的。

打包Docker鏡像

打包Docker鏡像需要編寫Dockerfile文件,可以參考相關(guān)資料。這里我寫了一個Java項目可以參考,通過工程構(gòu)建就能直接將Docker鏡像打包。

項目地址(GitHub):

https://github.com/manongwudi/springboot-k8s-demo

下載項目后本地可以編譯構(gòu)建,完成后打包的本地鏡像如下圖所示:

將鏡像上傳至阿里云私有鏡像倉庫

接下來演示登錄阿里云私有鏡像倉庫,并將本地構(gòu)建的Docker容器鏡像上傳。步驟如下:

(1)本地登陸阿里云鏡像倉庫(本地需要安裝Docker環(huán)境),命令如下:

  1. $ docker login --username=jqadmin registry.cn-hangzhou.aliyuncs.com 
  2. Password:  
  3. Login Succeeded 

提示:

賬號密碼為創(chuàng)建阿里云倉庫時設(shè)置的

(2)將前面構(gòu)建的Docker鏡像上傳至阿里云私有倉庫。命令如下:

  1. $ docker push registry.cn-hangzhou.aliyuncs.com/wudimanong/springboot-k8s-demo:latest 
  2. The push refers to repository [registry.cn-hangzhou.aliyuncs.com/wudimanong/springboot-k8s-demo] 
  3. 500e5779c8d2: Pushed  
  4. 925523484e00: Pushed  
  5. 344fb4b275b7: Pushed  
  6. bcf2f368fe23: Pushed  
  7. latest: digest: sha256:ba3930f5374ed4cfd2c39cb590c3f772c89cd73abe7bd321838fd453d11309fe size: 1159 

(3)此時回到阿里云倉庫的界面,就能看到上傳的鏡像了,如下圖所示:

將阿里云鏡像倉庫的鏡像發(fā)布至k8s集群

接下來演示,如何將已經(jīng)上傳阿里云私有鏡像倉庫的服務(wù)發(fā)布至k8s集群,這里需要在k8s發(fā)布文件中進(jìn)行一些配置。具體如下:

(1)創(chuàng)建發(fā)布文件。

  1. apiVersion: apps/v1 
  2. kind: Deployment 
  3. metadata: 
  4.   name: springboot-k8s-demo 
  5. spec: 
  6.   selector: 
  7.     matchLabels: 
  8.       app: springboot-k8s-demo 
  9.   replicas: 1 
  10.   #設(shè)置滾動升級策略 
  11.   #Kubernetes在等待設(shè)置的時間后才開始進(jìn)行升級,例如5s 
  12.   minReadySeconds: 5 
  13.   strategy: 
  14.     type: RollingUpdate 
  15.     rollingUpdate: 
  16.       #在升級過程中最多可以比原先設(shè)置多出的Pod數(shù)量 
  17.       maxSurge: 1 
  18.       #在升級過程中Deployment控制器最多可以刪除多少個舊Pod,主要用于提供緩沖時間 
  19.       maxUnavailable: 1 
  20.   template: 
  21.     metadata: 
  22.       labels: 
  23.         app: springboot-k8s-demo 
  24.     spec: 
  25.       #設(shè)置的阿里云私有鏡像倉庫登陸信息的secret(對應(yīng)2.1.2的設(shè)置) 
  26.       imagePullSecrets: 
  27.       - name: regcred 
  28.       containers: 
  29.         - name: springboot-k8s-demo 
  30.           image: registry.cn-hangzhou.aliyuncs.com/wudimanong/springboot-k8s-demo:latest 
  31.           env: 
  32.             - name: SERVER_PORT 
  33.               value: "8080" 
  34.             - name: SPRING_PROFILES_ACTIVE 
  35.               value: test 
  36. --- 
  37. apiVersion: v1 
  38. kind: Service 
  39. metadata: 
  40.   name: springboot-k8s-demo 
  41.   labels: 
  42.     svc: springboot-k8s-demo 
  43. spec: 
  44.   selector: 
  45.     app: springboot-k8s-demo 
  46.   ports: 
  47.     - name: http 
  48.       #Service在集群中暴露的端口(用于Kubernetes服務(wù)間的訪問) 
  49.       port: 8080 
  50.       #Pod上的端口(與制作容器時暴露的端口一致,在微服務(wù)工程代碼中指定的端口) 
  51.       targetPort: 8080 
  52.       #K8s集群外部訪問的端口(外部機(jī)器訪問) 
  53.       nodePort: 30002 
  54.   type: NodePort 

標(biāo)紅的部分,就是設(shè)置k8s對阿里云容器鏡像倉庫的連接——使用存儲在"secret"資源中的鏡像倉庫的賬號及密碼。

(2)執(zhí)行發(fā)布命令。

  1. # kubectl apply -f springboot-k8s-demo.yaml  
  2. deployment.apps/springboot-k8s-demo created 
  3. service/springboot-k8s-demo created 

(3)查看并測試應(yīng)用部署是否成功。

  1. # kubectl get po -o wide 
  2. NAME                                   READY   STATUS    RESTARTS   AGE   IP              NODE       NOMINATED NODE   READINESS GATES 
  3. springboot-k8s-demo-7f7f8db4cc-hd8j2   1/1     Running   0          41s   10.201.17.147   k8s-node   <none>           <none> 
  4. test-ds-nginx-qdj6n                    1/1     Running   0          80m   10.201.17.143   k8s-node   <none>           <none> 

可以看到,部署的Java應(yīng)用已經(jīng)成功啟動。接下來模擬調(diào)用下該服務(wù)的測試接口:

  1. # curl 10.201.17.147:8080/devops/test 
  2. 自動化發(fā)布示范工程測試接口返回->OK! 

 

可以成功訪問,說明應(yīng)用部署成功!

 

責(zé)任編輯:武曉燕 來源: 無敵碼農(nóng)
相關(guān)推薦

2022-02-18 10:47:47

微服務(wù)k8s項目

2022-01-02 08:42:50

架構(gòu)部署容器

2023-09-06 08:12:04

k8s云原生

2023-08-03 08:36:30

Service服務(wù)架構(gòu)

2021-11-04 07:49:58

K8SStatefulSetMySQL

2021-08-13 07:00:41

云原生k8sspringboot

2021-08-26 07:20:05

云原生K8sSpringboot

2022-11-06 21:31:11

云原生Sentinel集群模式

2023-03-01 07:42:12

HBase編排部署數(shù)據(jù)

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2023-11-06 07:16:22

WasmK8s模塊

2023-08-07 08:27:43

混合云K8S容器

2020-08-10 08:07:59

IstioK8s微服務(wù)

2018-08-23 11:01:00

華為云

2020-12-22 07:42:05

云原生開源項目k8s

2022-04-29 10:40:38

技術(shù)服務(wù)端K8s

2023-07-11 07:12:21

Hadoop部署mysql

2023-07-10 07:22:16

2021-03-11 12:31:33

K8sCoreDNSDNS服務(wù)器

2023-02-27 07:40:00

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品美女久久久久 | 日韩精品免费在线观看 | 国产在线观看福利 | 日韩国产欧美在线观看 | 天堂一区 | 日韩在线大片 | 亚洲国产精品久久久久婷婷老年 | 国产乱人伦精品一区二区 | 在线不卡| 日本 欧美 三级 高清 视频 | 九九热最新地址 | 亚洲国产在 | av天天操| 毛片一区二区三区 | 日本一道本视频 | 精品欧美| 免费黄色大片 | av三级 | 亚洲视频中文字幕 | 九九精品在线 | 国产精品国产精品国产专区不卡 | 日韩av免费在线观看 | 欧美一区二区三区视频 | 精品综合| 中文字幕高清 | 亚洲一区二区在线播放 | 国产精品一区二区不卡 | 精品国产乱码久久久久久中文 | 午夜三级在线观看 | 国产一级片在线播放 | 亚洲精品99 | 欧美2区 | 欧美 日韩 中文 | 国产精品99久久久久久宅男 | 精品无码久久久久久国产 | 亚洲电影成人 | 最新黄色毛片 | 国产在线激情视频 | 日本亚洲欧美 | 免费亚洲婷婷 | 国产精品久久久久久久久久 |