Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Kubernetes-»ùÓÚÈÝÆ÷ÔÆ¹¹½¨devopsƽ̨

 
  1674  次浏览      30
 2019-6-11
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚµç×ÓС°Ù¿Æ,±¾ÎÄÒÔKubernetesΪ»ù´¡£¬Îª»ùÓÚjavaÓïÑÔÑз¢ÍŶÓÌṩһÌ×ÍêÕûµÄdevops½â¾ö·½°¸£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£

1¡¢»ùÓÚkubernetes devopsµÄÕûÌå·½°¸

ÔÚ´Ë·½°¸ÖУ¬¿ª·¢ÈËÔ±»ùÓÚeclipse¼¯³É¿ª·¢»·¾³½øÐдúÂ룻¿ª·¢ÈËÔ±Ëù¿ª·¢µÄ´úÂë½»ÓÉÓÉgitlab½øÐÐÍйܡ¢°æ±¾¹ÜÀíºÍ·ÖÖ§¹ÜÀí£»´úÂëµÄÒÀÀµ¸üк͹¹½¨¹¤×÷ÓÉMaven½øÐд¦Àí£»ÎªÁËÌáÉý¹¤×÷ЧÂʺʹúÂëÖÊÁ¿£¬ÔÚdevopsÖÐÒýÈëSonarQube½øÐдúÂë¼ì²é£»¶ÔÓÚ´ò°ü¹¹½¨ºó´úÂ룬½»ÓÉdocker½øÐоµÏñ¹¹½¨£¬²¢ÔÚ˽ÓоµÏñ²Ö¿âÖжԾµÏñ½øÐйÜÀí£»×îºó£¬devops»á½«×Ô¶¯´Ó˽ÓоµÏñ²Ö¿â´ÓÀ­È¡¾µÏñ£¬²¢ÔÚRancherÖнøÐв¿Êð¡£

»ùÓÚ´Ëdevops½â¾ö·½°¸µÄÕûÌ幤×÷¹ý³ÌÈçÏÂËùʾ£º

1£©¿ª·¢ÈËÔ±»ùÓÚeclipse¼¯³É¿ª·¢»·¾³¾µÏñ´úÂ뿪·¢µÄ£¬½«´úÂëµ½gitlabÖнøÐÐÍйܣ»

2£©jenkins´ÓgitlabÀ­È¡´úÂ룻

3£©jenkinsµ÷ÓÃMaven¶Ô´úÂë½øÐдò°ü¹¹½¨£»

4£©jenkinsµ÷ÓÃdocker¹¹½¨¾µÏñ£»

5£©jenkins½«¹¹½¨ºÃµÄ¾µÏñÉÏ´«ÖÁ»ùÓÚNexusµÄ˽ÓоµÏñ²Ö¿â£»

6£©jenkinsÀ­È¡¾µÏñ£¬²¢²¿Êð¾µÏñÖÁRancherÖС£

2¡¢×é¼þ°²×°²¿Êð

´Ë²¿·ÖÃèÊöÐèҪΪdevops²¿ÊðµÄ×é¼þ£¬¸ù¾ÝÕûÌå·½°¸£¬devopsÐèҪʹÓÃgitlab¡¢jenkins¡¢nexus¡¢maven¡¢dockerºÍkubernetesÕâЩ×é¼þºÍϵͳ¡£ÆäÖУ¬gitlab¡¢jenkins¡¢nexus¶¼ÔÚkubernetesÖа²×°²¿Êð£¬ÔÚjenkinsÖаüº¬ÁËmaven£»dockerÖ±½ÓÔÚÎïÀí»úÌṩ£¬¶ÔÓÚdockerµÄ²¿Êð²»Ôڴ˲¿·Ö½øÐвûÊö¡£

2.1 ´úÂëÍйܹ¤¾ß-Gitlab

ÔÚ±¾Îĵķ½°¸ÖУ¬´úÂëµÄÍйܻùÓÚGitlab¡£ÏÂÃæÊÇÔÚKubernetesÖв¿ÊðgitlabµÄYAMLÅäÖÃÎļþ£¬ÔÚ´ËÎļþÖж¨ÒåÁËgitlab²¿ÊðºÍ·þÎñ¡£gitlab²¿ÊðʹÓõľµÏñΪgitlab/gitlab-ce:latest£¬²¢±©Â¶ÁË443¡¢80ºÍ22ÕâÈý¸ö¶Ë¿Ú£¬²¢Í¨¹ýNFS¶ÔÅäÖÃÎļþ¡¢ÈÕÖ¾ºÍÊý¾Ý½øÐг־û¯¡£ÔÚ·þÎñÖУ¬¶Ë¿ÚµÄÀàÐÍΪNodePort£¬¼´ÔÊÐí¼¯ÈºÍâµÄÓû§¿ÉÒÔͨ¹ýÓ³ÉäÔÚÖ÷»ú½ÚµãÉϵĶ˿ڶÔgitlab½øÐзÃÎÊ¡£

apiVersion: v1
kind: Service
metadata:
name: gitlab
spec:
type: NodePort
ports:
# PortÉϵÄÓ³Éä¶Ë¿Ú
- port: 443
targetPort: 443
name: gitlab443
- port: 80
targetPort: 80
name: gitlab80
- port: 22
targetPort: 22
name: gitlab22
selector:
app: gitlab
---

# ------------------------¶¨ÒåGitlabµÄ²¿Êð -----------------------

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: gitlab
spec:
selector:
matchLabels:
app: gitlab
revisionHistoryLimit: 2
template:
metadata:
labels:
app: gitlab
spec:
containers:
# Ó¦ÓõľµÏñ
- image: gitlab/gitlab-ce
name: gitlab
imagePullPolicy: IfNotPresent
# Ó¦ÓõÄÄÚ²¿¶Ë¿Ú
ports:
- containerPort: 443
name: gitlab443
- containerPort: 80
name: gitlab80
- containerPort: 22
name: gitlab22
volumeMounts:
# gitlab³Ö¾Ã»¯
- name: gitlab-persistent-config
mountPath: /etc/gitlab
- name: gitlab-persistent-logs
mountPath: /var/log/gitlab
- name: gitlab-persistent-data
mountPath: /var/opt/gitlab
imagePullSecrets:
- name: devops-repo
volumes:
# ʹÓÃnfs»¥ÁªÍø´æ´¢
- name: gitlab-persistent-config
nfs:
server: 192.168.8.150
path: /k8s-nfs/gitlab/config
- name: gitlab-persistent-logs
nfs:
server: 192.168.8.150
path: /k8s-nfs/gitlab/logs
- name: gitlab-persistent-data
nfs:
server: 192.168.8.150
path: /k8s-nfs/gitlab/data

ͨ¹ýkubectlÃüÁ¾ß£¬Ö´ÐÐÈçϵÄÃüÁÔÚkubernetes¼¯ÈºÖв¿Êðgitlab£º

$ kubectl create -f {path}/gitlab.yaml

2.2 ¾µÏñ²Ö¿â-Nexus

ÔÚ±¾ÎĵÄdevops·½°¸ÖУ¬²ÉÓÃNexus×÷Ϊdocker˽ÓоµÏñ²Ö¿âºÍmavenµÄÔ¶³Ì²Ö¿â¡£ÏÂÃæÊÇÔÚKubernetesÖв¿ÊðNexusµÄYAMLÅäÖÃÎļþ£¬ÔÚ´ËÎļþÖж¨ÒåÁËNexus²¿ÊðºÍ·þÎñ¡£Nexus²¿ÊðʹÓõľµÏñΪsonatype/nexus3:latest£¬²¢±©Â¶ÁË8081¡¢5001ÕâÁ½¸ö¶Ë¿Ú£¬²¢Í¨¹ýNFS¶ÔÅäÖÃÎļþ¡¢ÈÕÖ¾ºÍÊý¾Ý½øÐг־û¯¡£ÔÚ·þÎñÖУ¬¶Ë¿ÚµÄÀàÐÍΪNodePort£¬¼´ÔÊÐí¼¯ÈºÍâµÄÓû§¿ÉÒÔͨ¹ýÓ³ÉäÔÚÖ÷»ú½ÚµãÉϵĶ˿ڶÔnexus½øÐзÃÎÊ¡£ÆäÖУ¬5001×÷Ϊdocker˽ÓоµÏñ²Ö¿âµÄ¶Ë¿Ú¡£

#------------------------¶¨ÒåNexus´úÀí·þÎñ-------------------------
apiVersion: v1
kind: Service
metadata:
name: nexus3
spec:
type: NodePort
ports:
# PortÉϵÄÓ³Éä¶Ë¿Ú
- port: 8081
targetPort: 8081
name: nexus8081
- port: 5001
targetPort: 5001
name: nexus5001
selector:
app: nexus3
---
#-----------------------¶¨ÒåNexus²¿Êð-------------------------
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: nexus3
labels:
app: nexus3
spec:
replicas: 1 #¸±±¾ÊýΪ3
selector: #Ñ¡ÔñÆ÷
matchLabels:
app: nexus3 #²¿Êðͨ¹ýapp£ºnginx±êǩѡÔñÏà¹Ø×ÊÔ´
template: #PodµÄÄ£°å¹æ·¶
metadata:
labels:
app: nexus3 #PodµÄ±êÇ©
spec:
imagePullSecrets:
- name: devops-repo
containers: #ÈÝÆ÷
- name: nexus3
image: sonatype/nexus3
imagePullPolicy: IfNotPresent
ports: #¶Ë¿Ú
- containerPort: 8081
name: nexus8081
- containerPort: 5001
name: nexus5001
volumeMounts:
- name: nexus-persistent-storage
mountPath: /nexus-data
volumes:
# ËÞÖ÷»úÉϵÄĿ¼
- name: nexus-persistent-storage
nfs:
server: 192.168.8.150
path: /k8s-nfs/nexus

ͨ¹ýkubectlÃüÁ¾ß£¬Ö´ÐÐÈçϵÄÃüÁÔÚkubernetes¼¯ÈºÖв¿Êðnexus£º

$ kubectl create -f {path}/nexus.yaml

2.3 Á÷Ë®Ïß¹¤¾ß-Jenkins

2.3.1 jenkins°²×°²¿Êð

ÔÚ±¾ÎĵÄdevops·½°¸ÖУ¬²ÉÓÃjenkins×÷ΪÁ÷Ë®Ïß¹¤¾ß¡£ÏÂÃæÊÇÔÚKubernetesÖв¿ÊðjenkinsµÄYAMLÅäÖÃÎļþ£¬ÔÚ´ËÎļþÖж¨ÒåÁËjenkins²¿ÊðºÍ·þÎñ¡£jenkins²¿ÊðʹÓõľµÏñΪlw96/java8-jenkins-maven-git-vim:latest£¬²¢±©Â¶ÁË8080Õâ¸ö¶Ë¿Ú£¬²¢Í¨¹ýNFS¶ÔÅäÖÃÎļþºÍÊý¾Ý½øÐг־û¯¡£ÔÚ·þÎñÖУ¬¶Ë¿ÚµÄÀàÐÍΪNodePort£¬¼´ÔÊÐí¼¯ÈºÍâµÄÓû§¿ÉÒÔͨ¹ýÓ³ÉäÔÚÖ÷»ú½ÚµãÉϵĶ˿ڶÔjenkins½øÐзÃÎÊ¡£ÁíÍ⣬Ôڴ˾µÏñÖÐÒ²ÌṩmavenºÍjava¡£

apiVersion: v1
kind: Service
metadata:
name: jenkins-devops
spec:
type: NodePort
ports:
# PortÉϵÄÓ³Éä¶Ë¿Ú
- port: 8080
targetPort: 8080
name: pipeline8080
selector:
app: jenkins-devops
---

# ------------------------¶¨ÒåmysqlµÄ²¿Êð -----------------------
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: jenkins-devops
spec:
selector:
matchLabels:
app: jenkins-devops
revisionHistoryLimit: 2
template:
metadata:
labels:
app: jenkins-devops
spec:
containers:
# Ó¦ÓõľµÏñ
- image: 10.0.32.148:1008/lw96/java8-jenkins-maven-git-vim
name: jenkins-devops
imagePullPolicy: IfNotPresent
# Ó¦ÓõÄÄÚ²¿¶Ë¿Ú
ports:
- containerPort: 8080
name: pipeline8080
volumeMounts:
# jenkins-devops³Ö¾Ã»¯
- name: pipeline-persistent
mountPath: /etc/localtime
# jenkins-devops³Ö¾Ã»¯
- name: pipeline-persistent
mountPath: /jenkins
# jenkins-devops³Ö¾Ã»¯
- name: pipeline-persistent-repo
mountPath: /root/.m2/repository
- name: pipeline-persistent-mnt
mountPath: /mnt
volumes:
# ʹÓÃnfs»¥ÁªÍø´æ´¢
- name: pipeline-persistent
nfs:
server: 192.168.8.150
path: /k8s-nfs/jenkins-devops
- name: pipeline-persistent-mnt
nfs:
server: 192.168.8.150
path: /k8s-nfs/jenkins-devops/mnt
- name: pipeline-persistent-repo
nfs:
server: 192.168.8.150
path: /k8s-nfs/jenkins-devops/repo

 

ͨ¹ýkubectlÃüÁ¾ß£¬Ö´ÐÐÈçϵÄÃüÁÔÚkubernetes¼¯ÈºÖв¿Êðjenkins£º

$ kubectl create -f {path}/jenkins-devops.yaml

×¢Ò⣬ºóÐø½«Ö´ÐÐÏÂÃæµÄ²Ù×÷£º

½«Kubernetes¼¯ÈºµÄkubeconfigÎļþ¿½±´µ½192.168.8.150Ö÷»úµÄ/k8s-nfs/jenkins-devops/mntĿ¼Ï£»

½«mavenµÄsettings.xmlÎļþ¿½±´ÖÁµ½192.168.8.150Ö÷»úµÄ/k8s-nfs/jenkins-devops/repoĿ¼Ï£»

½«mavenµÄÒÀÀµ²å¼þ°ü¿½±´ÖÁµ½192.168.8.150Ö÷»úµÄ/k8s-nfs/jenkins-devops/repoĿ¼Ï¡£

3¡¢ devopsƽ̨´î½¨

3.1 nexusÉèÖÃ

nexusÔÚdevopsÖге£Á½¸ö¹¦ÄÜ£¬×÷ΪmavenµÄÔ¶³Ì²Ö¿âºÍ×÷ΪdockerµÄ˽ÓоµÏñ²Ö¿â¡£

ÔÚ±¾ÎÄÖУ¬Ê¹ÓÃnexusĬÈϰ²×°µÄmaven-snapshots¡¢maven-releasesºÍmaven-publicÕâÈý¸ö²Ö¿â¡£

²¢Îªdocker´´½¨Ò»¸öÃûΪregistryµÄ˽ÓоµÏñ²Ö¿â£¬Æä¶Ë¿ÚΪ5001£º

3.2 mavenÉèÖÃ

maven¸ºÔð¹ÜÀí´úÂëµÄÒÀÀµ¹ØÏµºÍ¹¹½¨¡£mavenͨ¹ýsettings.xmlÎļþÉèÖÃÔËÐл·¾³£¬°üÀ¨ÓëÔ¶³Ì²Ö¿âµÄÁ¬½Ó¡£±¾ÎÄÖеÄsettings.xmlÈçÏÂËùʾ£¬http://nexus3:8081 ÖеÄnexus3ÊÇÔÚkubernetesÖеķþÎñÃû³Æ¡£½« settings.xml ¿½±´ÖÁ 192.168.8.150»úÆ÷µÄ /k8s-nfs/jenkins-devops/repo Ŀ¼Ï¡£

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS

/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS

/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>maven-release</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>

<mirrors>
<mirror>
<id>nexus</id>
<url>http://nexus3:8081/repository/maven-public/

</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>

<profiles>
<profile>
<id>maven-release</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>maven-release</id>
<name>Repository for Release</name>
<url>http://nexus3:8081/repository/maven-releases/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>

<profile>
<id>maven-snapshots</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>maven-release</id>
<name>Repository for Release</name>
<url>http://nexus3:8081/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>

3.3 dockerÉèÖÃ

ΪÁËÄܹ»Ö§³Ö½«Ô¶³ÌÌá½»µÄ´úÂë¹¹½¨³É¾µÏñ£¬ÒÔ¼°½«¹¹½¨ºÃµÄ¾µÏñÉÏ´«ÖÁ¾µÏñ²Ö¿âÐèÒªÔÚ/etc/docker/daemon.jsonµÄÎļþÖÐÌí¼ÓÏÂÃæµÄÄÚÈÝ¡£ÆäÖУ¬10.0.32.163:32476Ϊ¾µÏñ²Ö¿âµÄµØÖ·ºÍ¶Ë¿Ú£¬tcp://0.0.0.0:4243Ϊ¶ÔÍⱩ¶µÄµØÖ·ºÍ¶Ë¿Ú¡£

{
"hosts":["tcp://0.0.0.0:4243","unix:///var/run/docker.sock"],
"insecure-registries":["10.0.32.163:32476"]
}

²¢Í¨¹ýÖ´ÐÐÏÂÃæµÄÃüÁîÖØÆôdocker·þÎñ£º

$ systemctl daemon-reload
$ systemctl restart docker

3.4 jenkinsÉèÖÃ

3.4.1 °²×°²å¼þ

jenkins×÷Ϊdevopsƽ̨µÄÁ÷³ÌÏß¹¤¾ß£¬ÐèÒª´ÓgitlabÖлñÈ¡´úÂ룬²¢Ìá½»¸ømaven½øÐй¹½¨£»ÔÚ´úÂë¹¹½¨³É¹¦ºó£¬µ÷ÓÃdocker¹¹½¨¾µÏñ£¬²¢½«ÉÏ´«ÖÁ»ùÓÚNexusµÄ˽ÓоµÏñ²Ö¿â£»×îÖÕ£¬ÔÚKubernetesÖв¿ÊðºÍÔËÐоµÏñ¡£ÎªÁËʵÏÖÉÏÊöÄÜÁ¦£¬ÐèÒªÔÚjenkinsÖа²×°Èçϲå¼þ£º

git plugin£ºÓëgitlab¼¯³ÉµÄ²å¼þ£¬ÓÃÓÚ»ñÈ¡´úÂ룻

maven plugin£ºÓëmaven¼¯³ÉµÄ²å¼þ£¬ÓÃÓÚ¹¹½¨´úÂ룻

CloudBees Docker Build and Publish plugin£ºÓëdocker¼¯³ÉµÄ²å¼þ£¬ÓÃÓÚ¹¹½¨docker¾µÏñ£¬²¢ÉÏ´«ÖÁ¾µÏñ²Ö¿â£»

Kubernetes Continuous Deploy Plugin£ºÓëkubernetes¼¯³ÉµÄ²å¼þ£¬ÓÃÓÚ½«¾µÏñ²¿Êðµ½kubernetes»·¾³¡£

3.4.2 mavenÉèÖÃ

ÔÚjenkinsÖеġ°È«¾Ö¹¤¾ßÅäÖá±Ò³Ã棬ÉèÖÃmavenµÄ°²×°ÐÅÏ¢£¬name¿ÉÒÔ°´ÕÕ×Ô¼ºµÄϲºÃÌîд£¬MAVEN_HOMEΪmavenµÄ°²×°µØÖ·£¬´Ë´¦Îª/opt/maven¡£

4¡¢devops³ÖÐø¼¯³ÉʾÀý

1£©°²×°git¿Í»§¶ËºÍ´´½¨ÃÜÔ¿

ÔÚ¹¤×÷¼ÆËãÉϰ²×°git¿Í»§¶Ë£¬²¢Í¨¹ýÏÂÃæµÄÃüÁî´´½¨sshÃÜÔ¿£º

Ö´ÐÐÉÏÊöÃüÁîºó£¬»áÔÚ±¾µØµÄ¡«/.sshĿ¼´´½¨id_rsa.pub(¹«Ô¿)ºÍid_rsa(˽Կ)¡£

2£©ÔÚgitlab´´½¨omsÏîÄ¿

½øÈëgitlab£¬²¢´´½¨Ò»¸öÃû³ÆÎªomsµÄÏîÄ¿¡£

ÔÚgitlabÖÐÌí¼ÓËù´´½¨µÄ¹«Ô¿£º

3£©ÔÚeclipseÖнøÐдúÂ뿪·¢

ÔÚeclipseÖд´½¨ÀàÐÍΪmavenµÄomsÏîÄ¿£¬²¢½øÐдúÂ뿪·¢¡£ÔÚÍê³É´úÂ뿪·¢ºó£¬½«´úÂëÉÏ´«ÖÁgitlabÖнøÐдúÂëÍйܡ£

4£©ÔÚjenkinsÖд´½¨omsÏîÄ¿

½øÈëjenkins£¬´´½¨Ò»¸öÃû³ÆÎªomsµÄmavenÏîÄ¿¡£

5£©ÔÚjenkinsÖÐÉèÖûñÈ¡´úÂëÐÅÏ¢

ÔÚjenkinsÖУ¬½øÈëomsµÄÅäÖÃÒ³Ãæ£¬ÔÚÔ´´úÂë¹ÜÀí´¦ÉèÖûñȡԴ´úÂëµÄÏà¹ØÐÅÏ¢¡£

Repository URL£ºÏîÄ¿ÔÚgitlabÖеĵØÖ·£»

Credentials£º·ÃÎÊgitlabµÄÈÏÖ¤·½Ê½£»

Branch Specifier£º´úÂëµÄ·ÖÖ§¡£

´Ë´¦·ÃÎÊgitlabµÄÈÏÖ¤·½Ê½Îª¡°SSH Username with private key¡±£¬Private KeyµÄÖµÀ´×ÔÓÚ¡«/.sshĿ¼ÏÂid_rsa(˽Կ)µÄÄÚÈÝ¡£

6£©ÔÚjenkinsÖÐÉèÖù¹½¨ºÍÉÏ´«¾µÏñÐÅÏ¢

ÔÚomsÏîÄ¿µÄÅäÖõġ°Docker Build and Publish¡±²¿·Ö£¬ÌîдÈçϵÄÐÅÏ¢£»

Repository Name£º¾µÏñµÄÃû³Æ£»

Tag£º¾µÏñµÄ°æ±¾£»

Docker Host URI£ºdocker·þÎñµÄµØÖ·ºÍ¶Ë¿Ú£»

Docker registry URL£ºdocker¾µÏñ²Ö¿âµÄµØÖ·£»

Registry credentials£º¾µÏñ²Ö¿âµÄÈÏÖ¤·½Ê½¡£

7£©ÔÚjenkinsÖÐÉèÖò¿ÊðÈÝÆ÷ÐÅÏ¢

ÔÚomsÏîÄ¿µÄÅäÖõġ°Deploy to Kubernetes¡±²¿·Ö£¬ÌîдÈçϵÄÐÅÏ¢£»

Kubernetes Cluster Credentials£ºKubernetes¼¯ÈºµÄÈÏÖ¤·½Ê½£»

Path£ºkubeconfigÎļþµÄËùÔÚµØÖ·£»

Config Files£º¹¹½¨YAMLÅäÖÃÎļþ¡£

8£©ÔÚjenkinsÖÐÖ´ÐÐoms¹¹½¨

ÔÚomsÏîÄ¿´´½¨ºÍÉèÖÃÍê³Éºó£¬¿ÉÒÔ¶ÔÏîÄ¿½øÐй¹½¨²Ù×÷¡£Í¨¹ýÒ»¼ü²Ù×÷£¬jenkins½«»áÍê³É´Ó¹¹½¨¡¢´ò°ü³É¾µÏñºÍ²¿ÊðµÄËùÓй¤×÷ÄÚÈÝ£º

´ÓgitlabÖлñÈ¡omsµÄ´úÂ룻

Ìá½»¸ømaven½øÐй¹½¨£»

µ÷ÓÃdocker¹¹½¨¾µÏñ£»

ÉÏ´«¾µÏñÖÁNexusµÄ˽ÓоµÏñ²Ö¿â£»

²¿Êð¾µÏñµ½kubernetes¼¯Èº¡£

9£©ÔÚkubernetesÖв鿴²¿ÊðÇé¿ö

½øÈëkubernetes(±¾ÎÄʹÓõÄΪRancherϵͳ)½çÃæ£¬ÔÚdefaultÃüÃû¿Õ¼äÏ£¬¿ÉÒÔ¿´µ½ÒѲ¿ÊðµÄoms¡£

   
1674 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤