k8s之安装sonarqube
1.k8s安装sonarqube 记录,三个配置文件搞上来
首先是创建postgre的PV PVC 配置文件,kubectl apply -f pvc-xxxxxx.yaml 这里的目的是让sonarqube的数据库postgresql 的数据持久化存储,不会因为pod删除而丢失,name 、path 可以自定义,这个type 还不太清楚具体的意义,貌似可有可无啊,后续尝试去掉进行部署
apiVersion: v1 kind: PersistentVolume metadata: name: postgres-data labels: type: local spec: storageClassName: manual capacity: storage: 10Gi accessModes: - ReadWriteMany hostPath: path: "/data/postgresql" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: postgres-data spec: storageClassName: manual accessModes: - ReadWriteMany resources: requests: storage: 10Gi
2.k8s安装postgresql,kubectl apply -f postgres(文件名称).yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres-sonar
spec:
replicas: 1
selector:
matchLabels:
app: postgres-sonar
template:
metadata:
labels:
app: postgres-sonar
spec:
containers:
- name: postgres-sonar
image: postgres:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5432
env:
- name: POSTGRES_DB
value: "sonar"
- name: POSTGRES_USER
value: "sonar"
- name: POSTGRES_PASSWORD
value: "sonar"
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
volumes:
- name: data
persistentVolumeClaim:
claimName: postgres-data
---
apiVersion: v1
kind: Service
metadata:
name: postgres-sonar
labels:
app: "postgres-sonar"
spec:
clusterIP: None
ports:
- port: 5432
protocol: TCP
targetPort: 5432
selector:
app: postgres-sonar
3.k8s安装sonarqube,kubectl apply -f sonarqube(文件名称).yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: sonarqube
spec:
replicas: 1
selector:
matchLabels:
app: sonarqube
template:
metadata:
labels:
app: sonarqube
spec:
containers:
- name: sonarqube
image: sonarqube:k8s
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9000
env:
- name: SONARQUBE_JDBC_USERNAME
value: "sonar"
- name: SONARQUBE_JDBC_PASSWORD
value: "sonar"
- name: SONARQUBE_JDBC_URL
value: "jdbc:postgresql://postgres-sonar:5432/sonar"
---
apiVersion: v1
kind: Service
metadata:
name: sonarqube
labels:
app: "sonarqube"
spec:
type: NodePort
ports:
- name: sonarqube
port: 9000
targetPort: 9000
nodePort: 30003
protocol: TCP
selector:
app: sonarqube
注意:需要注意的地方就是SONARQUBE_JDBC_URL的配置,
jdbc:postgresql://postgres-sonar:5432/sonar postgres-sonar 是pg数据库的service 5432是端口 sonar是db 不要搞错
还有就是如果是半路移过来的镜像容易有问题,比如pg数据库数据丢失,sonarqube无法链接数据库等,建议使用新的镜像进行部署
常用命令
查看现有的node,服务,pod,deployment,PV,pvc,svc,sc等等
kubectl get node pod service pv pvc sc svc depyloyment
查看具体的namespace需要加上-n 空间名
kubectl get po -n default
查看pod的详细信息
kubectl describe pod xxxxxpod
通过配置文件进行应用部署
kubectl apply -f XXXXXX.yaml
通过配置文件进行删除部署
kubectl delete -f XXXXXX.yaml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!