本系列文章:
node
第一章:九析帶你輕鬆完爆 helm3 安裝mysql
第二章:九析帶你輕鬆完爆 helm3 公共倉庫nginx
第三章:九析帶你輕鬆完爆 helm3 私有倉庫git
第四章:九析帶你輕鬆完爆 helm3 chartsql
第五章:九析帶你輕鬆完爆 helm3 release數據庫
第六章:九析帶你輕鬆完爆 helm3 gitlabapi
第七章:九析帶你輕鬆完爆 helm3 nginx-ingress瀏覽器
第八章:九析帶你輕鬆完爆 helm3 gitlab nfs服務器
第九章:九析帶你輕鬆完爆 helm3 nexus微信
第十一章:九析帶你輕鬆完爆 helm3 kubernetes-dashboard
第十三章:九析帶你輕鬆完爆 helm3 prometheus
第十五章:九析帶你輕鬆完爆 grafana 關聯 prometheus
第十六章:九析帶你輕鬆完爆 helm3 efk - elasticsearch
第十七章:九析帶你輕鬆完爆 helm3 efk - kibana
第十八章:九析帶你輕鬆完爆 helm3 efk - fluentd
第二十章:九析帶你輕鬆完爆 helm3 mysql
第二十一章:九析帶你輕鬆完爆 helm3 zookeeper
第二十二章:九析帶你輕鬆完爆 helm3 sonarqube
目錄
1 前言
若是你在操做過程當中遇到了問題,能夠加我微信諮詢。
本文采用 helm3 v3.0.0; k8s v1.16.3。helm 倉庫信息以下:
2 下載 sonarqube
helm 搜索 sonarqube:
helm search repo sonarqube
下載並解壓:
helm fetch google/sonarqube
tar -zxvf sonarqube-3.2.7.tgz
3 建立命名空間
kubectl create ns sonarqube
4 修改配置
編輯 sonarqube/values.yaml 文件。
修改 ingress 部分以下:
修改數據庫部分:
5 安裝 sonarqube
第一個 sonarqube 是命名空間,第二個是 helm release 名,第三個是 sonarqube 解壓縮目錄:
helm install -n sonarqube sonarqube sonarqube
5.1 修改 deployment apiVersion
若是安裝過程報以下錯:
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"
執行以下語句輕鬆完爆:
grep -irl 'extensions/v1beta1' sonarqube/ | xargs sed -i 's#extensions/v1beta1#apps/v1#g'
5.2 添加 selector
再次安裝若是報以下錯:
Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec
編輯 sonarqube/charts/postgresql/templates/deployment.yaml 文件:
編輯 sonarqube/charts/mysql/templates/deployment.yaml 文件:
5.3 修改 ingress apiVersion
再次安裝若是報以下錯:
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Ingress" in version "apps/v1"
修改 sonarqube/templates/ingress.yaml 文件:
安裝成功以下所示:
可是安裝成功不表明運行成功,還須要配置存儲。
6 安裝 nfs 服務器
如何安裝 nfs 服務器,請參考本人《輕鬆完爆 nfs 安裝》,不用擔憂,簡單到爆,讓你分分鐘輕鬆完爆。
mkdir -p /data/nfs/sonarqube/8g
chmod 777 -R sonarqube
echo "/data/nfs/sonarqube 10.110.0.0/16(rw,sync,no_root_squash)" >> /etc/exports
systemctl restart nfs
7 建立 pv
建立 pv-sonarqube-8g.yaml 文件:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-sonarqube-8g
spec:
capacity:
storage: 8Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 10.110.101.106
path: /data/nfs/sonarqube/8g
8 建立 secret
8.1 建立自簽名證書
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./tls.key -out ./tls.crt -subj "/CN=jiuxi.sonarqube.org"
8.2 根據證書生成 secret
kubectl -n sonarqube create secret tls sonarqube-tls --key ./tls.key --cert ./tls.crt
9 驗證 sonarqube
打開瀏覽器,輸入 https://jiuxi.sonarqube.org(編輯 /etc/hosts,添加自定義域名解析,注意 IP 是 nginx-ingress-controller pod 所在宿主機的 IP,切記)。
點擊「Login in」,sonarqube 默認用戶名密碼是:admin/admin
自此,輕鬆完爆 helm3 sonarqube 安裝。