cheun 发表于 2018-1-4 17:51:27

Kubernetes 1.5部署sonarqube

  前面几篇博文我们一直在说kubernetes的基础环境的安装及部署。在基础环境部署完成以后,我们开始尝试使用kubernetes来管理我们的应用。本篇博文通过一个简单的示例来向大家展示如何通过deployment和service来部署一个应用。我们以部署一个sonarqube为例。
  sonarqube是一个代码审查工具,包含两部分,分别是web站点和数据库。我们在存放所有yml文件的目录/data/kubernetes下再创建一个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:
https://images2015.cnblogs.com/blog/788294/201703/788294-20170316105315885-432928310.png
页: [1]
查看完整版本: Kubernetes 1.5部署sonarqube