kubernetes實踐之二十九:Kubernetes+Harbor+Gitlab+Jenkins+Maven DevOps
一:流程結構
說明:
二:實施步驟
1.Docker+Gitlab+Jenkins+Maven程式碼持續整合與自動部署
請參照之前的博文 http://blog.itpub.net/28624388/viewspace-2151638/
2.使用Harbor作為私有映象倉庫
請參照之前的博文 http://blog.itpub.net/28624388/viewspace-2153568/
3.kubernetes整合(以應用desktop為例)
a.Jenkins中安裝SSH外掛
b.Jenkins中建立Credentials ssh
c.系統關聯-->系統配置-->ssh remote hosts配置
d.在專案配置的最後,增加ssh remote命令呼叫的指令碼
desktop-ds.yaml 檔案如下
說明:
1. 使用者向Gitlab提交程式碼,程式碼中包含 Dockerfile檔案。
2.Jenkins監聽Gitlab程式碼庫的推送和變更事件
3.Jenkins呼叫maven外掛對原始碼進行編譯打包
4.Jenkins呼叫docker工具根據Dockerfile檔案生成映象,並推送映象到Harbor倉庫
5.Jenkins透過SSH遠端呼叫Kubernetes叢集的master節點,更新Pod的模板YAML檔案,呼叫kubectl命令進行釋出操作
6.Kubernetes叢集的Node 節點從Harbor倉庫,拉取映象,啟動Pod和應用容器。
二:實施步驟
1.Docker+Gitlab+Jenkins+Maven程式碼持續整合與自動部署
請參照之前的博文 http://blog.itpub.net/28624388/viewspace-2151638/
2.使用Harbor作為私有映象倉庫
請參照之前的博文 http://blog.itpub.net/28624388/viewspace-2153568/
3.kubernetes整合(以應用desktop為例)
a.Jenkins中安裝SSH外掛
b.Jenkins中建立Credentials ssh
c.系統關聯-->系統配置-->ssh remote hosts配置
d.在專案配置的最後,增加ssh remote命令呼叫的指令碼
desktop-ds.yaml 檔案如下
點選(此處)摺疊或開啟
-
apiVersion: extensions/v1beta1
-
kind: DaemonSet
-
metadata:
-
name: desktop
-
labels:
-
app: desktop
-
spec:
-
selector:
-
matchLabels:
-
app: desktop
-
template:
-
metadata:
-
labels:
-
app: desktop
-
spec:
-
containers:
-
- name: desktop
-
image: 120.79.156.135/desktop/tomcat:desktop
-
volumeMounts:
-
- name: jdkdir
-
mountPath: /usr/local/jdk
-
- name: uploaddir
-
mountPath: /mnt/upload
-
ports:
-
- containerPort: 8080
-
imagePullSecrets:
-
- name: registry-secret
-
volumes:
-
- name: jdkdir
-
hostPath:
-
path: /mnt/devops/jdk1.8
-
- name: uploaddir
-
hostPath:
- path: /mnt/upload
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2153655/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- kubernetes實踐之十九:API概述API
- kubernetes實踐之五十九:NetworkPolicy
- kubernetes實踐之二十六:GlusterFS
- kubernetes實踐之二十七:Harbor
- kubernetes實踐之二十:網路原理
- kubernetes實踐之二十二:Pod
- kubernetes實踐之二十四:Service
- kubernetes實踐之四十九:Scheduler原理分析
- kubernetes實踐之二十三:ReplicationControllerController
- kubernetes實踐之二:建立TLS證書和金鑰TLS
- kubernetes實踐之二十一:物件與元件簡介物件元件
- DevOps實踐dev
- kubernetes實踐之二十五:儲存卷 PV&PVC
- DevOps 實踐指南dev
- kubernetes實踐之三十九:Pod初始化容器之Init ContainerAI
- kubernetes實踐之六十九:istio-1.0.0部署和試用
- 自研DevOps實踐dev
- kubernetes實踐之二十八:使用Harbor作為私有映象倉庫
- 論 DevOps 實踐有幾何?dev
- DevOps 中的測試實踐dev
- DevOps中的測試實踐dev
- DevOps實踐-白名單二三事dev
- Kubernetes實戰總結 - DevOps實現(轉載)dev
- Kubernetes監控實踐
- Serverless Kubernetes 落地實踐Server
- Kubernetes Deployment 最佳實踐
- Docker進階與實踐之二:NamespaceDockernamespace
- DevOps 從理論到實踐指南dev
- DevOps落地實踐,BAT系列,敏捷看板devBAT敏捷
- 金融科技 DevOps 的最佳實踐dev
- 基於DevOps的容器安全實踐dev
- 阿里智慧運維實踐|阿里巴巴DevOps實踐指南阿里運維dev
- Kubernetes 微服務最佳實踐微服務
- Kubernetes 最佳安全實踐指南
- kubernetes實踐之十一:EFK
- DevOps雲翼日誌服務實踐dev
- DevOps GitLab CICD 實踐2——Runner 部署devGitlab
- DevOps與傳統的融合落地實踐dev