本系列文章:
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 安装。