1. 程式人生 > >Kubernetes 1.5部署sonarqube

Kubernetes 1.5部署sonarqube

kuberntes

前面幾篇博文我們一直在說kubernetes的基礎環境的安裝及部署。在基礎環境部署完成以後,我們開始嘗試使用kubernetes來管理我們的應用。本篇博文通過一個簡單的示例來向大家展示如何通過deployment和service來部署一個應用。我們以部署一個sonarqube為例。

sonarqube是一個代碼審查工具,包含兩部分,分別是web站點和數據庫。我們在存放所有yml文件的目錄/data/kubernetes下再創建一個sonarqube目錄,並生成如下四個文件:

[[email protected] sonarqube]# ll -h
total 16K-rw-r--r--. 1 root root 682 Mar 15 23:25 mysql-sonar-dm.yml-rw-r--r--. 1 root root 209 Mar 15 23:35 mysql-sonar-svc.yml-rw-r--r--. 1 root root 669 Mar 16 09:46 sonar-dm.yml-rw-r--r--. 1 root root 151 Mar 15 23:30 sonar-svc.yml

其中mysql-sonar-dm.yml和mysql-sonar-svc.yml用於創建sonarqube使用的數據庫,內容如下:

技術分享

vim mysql-sonar-dm.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mysql-sonar
spec:
  replicas: 1#  selector:
#    app: mysql-sonar                      
  template:
    metadata:
      labels:
        app: mysql-sonar
    spec:
      containers:      - name: mysql-sonar
        image: myhub.fdccloud.com/library/mysql:5.6
        ports:        - containerPort: 3306
        env:        - name: MYSQL_ROOT_PASSWORD
          value: "mysoft"
        - name: MYSQL_DATABASE
          value: sonardb

技術分享

技術分享

vim mysql-sonar-svc.yml

apiVersion: v1
kind: Service                       
metadata:
  name: mysql-sonar
spec:
  type: NodePort
  ports:    - port: 3306
      targetPort: 3306
      nodePort: 30002
  selector:
    app: mysql-sonar

技術分享

sonar-dm.yml和sonar-svc.yml分別用於創建sonar的pod和service,內容如下:

技術分享

vim sonar-dm.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
 name: sonar
spec:
 replicas: 1
 #selector:
 #  app: sonar
 template:
   metadata:
     labels:
       app: sonar
   spec:
     containers:       - name: sonar
         image: myhub.fdccloud.com/library/sonarqube:6.2
         ports:         - containerPort: 9000
         env:         - name: SONARQUBE_JDBC_USERNAME
           value: sonar         - name: SONARQUBE_JDBC_PASSWORD
           value: sonar         - name: SONARQUBE_JDBC_URL
           value: "jdbc:mysql://mysql-sonar:3306/sonardb?useSSL=false&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance"

技術分享

技術分享

vim sonar-svc.yml

apiVersion: v1
kind: Service
metadata:
  name: sonar
spec:
  type: NodePort
  ports:    - port: 9000
      nodePort: 30001
  selector:
    app: sonar

技術分享

啟動sonar應用:

kubectl create -f /data/kubernetes/sonarqube/

通過http://<node-IP>:30001訪問sonarqube:

技術分享


本文出自 “我的天空” 博客,請務必保留此出處http://sky66.blog.51cto.com/2439074/1933999

Kubernetes 1.5部署sonarqube