第二十二章 九析带你轻松完爆 helm3 sonarqube

本系列文章:


第一章:九析带你轻松完爆 helm3 安装

第二章:九析带你轻松完爆 helm3 公共仓库

第三章:九析带你轻松完爆 helm3 私有仓库

第四章:九析带你轻松完爆 helm3 chart

第五章:九析带你轻松完爆 helm3 release

第六章:九析带你轻松完爆 helm3 gitlab

第七章:九析带你轻松完爆 helm3 nginx-ingress

第八章:九析带你轻松完爆 helm3 gitlab nfs

第九章:九析带你轻松完爆 helm3 nexus

扫描二维码关注公众号,回复: 8646778 查看本文章

第十章:九析带你轻松完爆 helm3 heapster

第十一章:九析带你轻松完爆 helm3 kubernetes-dashboard

第十二章:九析带你轻松完爆 helm3 harbor

第十三章:九析带你轻松完爆 helm3 prometheus

第十四章:九析带你轻松完爆 helm3 grafana

第十五章:九析带你轻松完爆 grafana 关联 prometheus

第十六章:九析带你轻松完爆 helm3 efk - elasticsearch

第十七章:九析带你轻松完爆 helm3 efk - kibana

第十八章:九析带你轻松完爆 helm3 efk - fluentd

第十九章:九析带你轻松完爆 helm3 istio 安装

第二十章:九析带你轻松完爆 helm3 mysql

第二十一章:九析带你轻松完爆 helm3 zookeeper

第二十二章:九析带你轻松完爆 helm3 sonarqube

目录



1 前言

        如果你在操作过程中遇到了问题,可以加我微信咨询。

spacer.gifclipboard1.png

        本文采用 helm3 v3.0.0; k8s v1.16.3。helm 仓库信息如下:

spacer.gifclipboard2.png


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 部分如下:

spacer.gifclipboard3.png

        修改数据库部分:

spacer.gifclipboard4.png


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 文件:

spacer.gifclipboard5.png

        编辑 sonarqube/charts/mysql/templates/deployment.yaml 文件:

spacer.gifclipboard6.png

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 文件:

spacer.gifclipboard7.png

        安装成功如下所示:

spacer.gifclipboard8.png

        但是安装成功不代表运行成功,还需要配置存储。


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,切记)。

spacer.gifclipboard9.png

        点击“Login in”,sonarqube 默认用户名密码是:admin/admin

clipboard10.png

        自此,轻松完爆 helm3 sonarqube 安装。

猜你喜欢

转载自blog.51cto.com/14625168/2467237
今日推荐