将Sonarqube部署到Kubernetes

来源:互联网 发布:c语言多重循环break 编辑:程序博客网 时间:2024/05/19 12:11

Dockerfile:

FROM harbor.test.com/sonar/sonarqube:6.5RUN rm -rf $SONARQUBE_HOME/lib/bundled-plugins/sonar-ldap-plugin-2.1.0.507.jarRUN cd $SONARQUBE_HOME/lib/bundled-plugins/ && \curl -sSOL https://sonarsource.bintray.com/Distribution/sonar-ldap-plugin/sonar-ldap-plugin-2.1.0.507.jar && \sed -i '/exec java.*/a \ -Dsonar.security.realm=LDAP \ -Dsonar.security.savePassword=false \ -Dldap.url=ldap://mail.test.cn:389 \ -Dldap.bindDn=uid=zimbra,cn=admins,cn=zimbra \ -Dldap.bindPassword=pppwwwddd \ -Dldap.user.baseDn=ou=people,dc=test,dc=cn \ -Dldap.user.request=uid={0} \ -Dldap.user.emailAttribute=mail \\' $SONARQUBE_HOME/bin/run.sh

mysql-rc.yaml

apiVersion: v1kind: ReplicationControllermetadata:  name: sonar-mysqlspec:  replicas: 1  selector:    app: sonar-mysql  template:    metadata:      labels:        app: sonar-mysql    spec:      containers:      - name: sonar-mysql        image: mysql:5.7        ports:        - containerPort: 3306        env:        - name: MYSQL_ROOT_PASSWORD          value: "123456"        - name: MYSQL_DATABASE          value: sonardb        - name: MYSQL_USER          value: sonar        - name: MYSQL_PASSWORD          value: sonar        volumeMounts:        - mountPath: /var/lib/mysql          readOnly: false          name: sonar-mysql      volumes:      - name: sonar-mysql        nfs:          server: 192.168.1.131          path: "/data/nfs/sonar"


mysql-svc.yaml

apiVersion: v1kind: Servicemetadata:  name: sonar-mysqlspec:  ports:    - port: 3306  selector:    app: sonar-mysql


sonar-rc.yml


apiVersion: v1kind: ReplicationControllermetadata: name: sonarspec: replicas: 1 selector:   app: sonar template:   metadata:     labels:       app: sonar   spec:     containers:       - name: sonar         image: harbor.itopka.com/sonar/sonarqube:6.5.11         ports:         - containerPort: 9000         env:         - name: SONARQUBE_JDBC_USERNAME           value: sonar         - name: SONARQUBE_JDBC_PASSWORD           value: sonar         - name: SONARQUBE_JDBC_URL           value: "jdbc:mysql://sonar-mysql:3306/sonardb?useSSL=false&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance"         volumeMounts:           - mountPath: "/opt/sonarqube/conf"             name: sonar-conf           - mountPath: "/opt/sonarqube/data"             name: sonar-data           - mountPath: "/opt/sonarqube/extensions"             name: sonar-extensions           - mountPath: "/opt/sonarqube/logs"             name: sonar-logs     volumes:       - name: sonar-conf         nfs:           server: 192.168.1.131           path: "/data/nfs/sonar/sonar_conf"       - name: sonar-data         nfs:           server: 192.168.1.131           path: "/data/nfs/sonar/sonar_data"       - name: sonar-extensions         nfs:           server: 192.168.1.131           path: "/data/nfs/sonar/sonar_extensions"       - name: sonar-logs         nfs:           server: 192.168.1.131           path: "/data/nfs/sonar/sonar_logs"

sonar-svc.yaml

apiVersion: v1kind: Servicemetadata:  name: sonarspec:  type: NodePort  ports:    - port: 9000      targetPort: 9000  selector:    app: sonar

sonar-ingress.yaml


apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: sonar-ingressspec:  rules:  - host: sonar.test.com    http:      paths:      - path: /        backend:          serviceName: sonar          servicePort: 9000




原创粉丝点击