-
Choerodon平台版本: 0.22
-
遇到问题的执行步骤:
无报错日志。部署正常。通过ingress访问404.,ingress对应的服务也在。
Choerodon平台版本: 0.22
遇到问题的执行步骤:
无报错日志。部署正常。通过ingress访问404.,ingress对应的服务也在。
sonarqube 的 pod 正常运行?如果没有正常运行看一下报错日志。
pod运行正常
2020.09.13 16:30:53 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [projectmeasures/projectmeasure] ...
2020.09.13 16:30:53 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of type [projectmeasures/projectmeasure] done | time=200ms
2020.09.13 16:30:53 INFO web[][o.s.s.p.p.PlatformLevelStartup] Running Community Edition
2020.09.13 16:30:53 INFO web[][o.s.s.p.Platform] WebServer is operational
2020.09.13 16:30:54 INFO app[][o.s.a.SchedulerImpl] Process[web] is up
2020.09.13 16:30:54 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='ce', ipcIndex=3, logFilenamePrefix=ce]] from [/opt/sonarqube]: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonarqube/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:/opt/sonarqube/lib/jdbc/postgresql/postgresql-42.2.5.jar org.sonar.ce.app.CeServer /opt/sonarqube/temp/sq-process1266544528730134361properties
2020.09.13 16:30:55 INFO ce[][o.s.p.ProcessEntryPoint] Starting ce
2020.09.13 16:30:55 INFO ce[][o.s.ce.app.CeServer] Compute Engine starting up...
2020.09.13 16:30:56 INFO ce[][o.e.p.PluginsService] no modules loaded
2020.09.13 16:30:56 INFO ce[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.join.ParentJoinPlugin]
2020.09.13 16:30:56 INFO ce[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.percolator.PercolatorPlugin]
2020.09.13 16:30:56 INFO ce[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2020.09.13 16:30:58 INFO ce[][o.s.s.e.EsClientProvider] Connected to local Elasticsearch: [127.0.0.1:9001]
2020.09.13 16:30:58 INFO ce[][o.sonar.db.Database] Create JDBC data source for jdbc:postgresql://sonarqube-postgresql:5432/sonarDB
2020.09.13 16:31:00 INFO ce[][o.s.s.p.ServerFileSystemImpl] SonarQube home: /opt/sonarqube
2020.09.13 16:31:01 INFO ce[][o.s.c.c.CePluginRepository] Load plugins
2020.09.13 16:31:02 INFO ce[][o.s.c.c.ComputeEngineContainerImpl] Running Community edition
2020.09.13 16:31:02 INFO ce[][o.s.c.q.PurgeCeActivities] Delete the Compute Engine tasks created before 1584462662162
2020.09.13 16:31:02 INFO ce[][o.s.c.q.PurgeCeActivities] Delete the Scanner contexts tasks created before 1597595462177
2020.09.13 16:31:02 INFO ce[][o.s.ce.app.CeServer] Compute Engine is operational
2020.09.13 16:31:02 INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
2020.09.13 16:31:02 INFO app[][o.s.a.SchedulerImpl] SonarQube is up
在节点服务器上访问 sonarqube 可以吗?
如果不可以贴一下 sonarqube ingress,service,endpoints, pod 等资源详情。
kubectl get ing -n c7n-system sonarqube-sonarqube -o yaml
kubectl get svc -n c7n-system sonarqube-sonarqube -o yaml
kubectl get ep -n c7n-system sonarqube-sonarqube -o yaml
kubectl describe po -n c7n-system <sonarqube pod name> -o yaml
[root@ksm01 ~]# kubectl get ing -n c7n-system sonarqube-sonarqube -o yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
meta.helm.sh/release-name: sonarqube
meta.helm.sh/release-namespace: c7n-system
creationTimestamp: "2020-09-13T16:29:40Z"
generation: 1
labels:
app: sonarqube
app.kubernetes.io/managed-by: Helm
chart: sonarqube-0.15.0-3
heritage: Helm
release: sonarqube
managedFields:
- apiVersion: networking.k8s.io/v1beta1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:meta.helm.sh/release-name: {}
f:meta.helm.sh/release-namespace: {}
f:labels:
.: {}
f:app: {}
f:app.kubernetes.io/managed-by: {}
f:chart: {}
f:heritage: {}
f:release: {}
f:spec:
f:rules: {}
manager: Go-http-client
operation: Update
time: "2020-09-13T16:29:40Z"
name: sonarqube-sonarqube
namespace: c7n-system
resourceVersion: "1186011"
selfLink: /apis/extensions/v1beta1/namespaces/c7n-system/ingresses/sonarqube-sonarqube
uid: 54300950-67d0-4fd5-96a6-02acd81392ef
spec:
rules:
- host: sonarqube.devops.local
http:
paths:
- backend:
serviceName: sonarqube-sonarqube
servicePort: 9000
path: /
pathType: ImplementationSpecific
- backend:
serviceName: sonarqube-sonarqube
servicePort: 9000
path: /*
pathType: ImplementationSpecific
status:
loadBalancer: {}
[root@ksm01 ~]# kubectl get svc -n c7n-system sonarqube-sonarqube -o yaml
apiVersion: v1
kind: Service
metadata:
annotations:
meta.helm.sh/release-name: sonarqube
meta.helm.sh/release-namespace: c7n-system
creationTimestamp: "2020-09-13T16:29:40Z"
labels:
app: sonarqube
app.kubernetes.io/managed-by: Helm
chart: sonarqube-0.15.0-3
heritage: Helm
release: sonarqube
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:meta.helm.sh/release-name: {}
f:meta.helm.sh/release-namespace: {}
f:labels:
.: {}
f:app: {}
f:app.kubernetes.io/managed-by: {}
f:chart: {}
f:heritage: {}
f:release: {}
f:spec:
f:ports:
.: {}
k:{"port":9000,"protocol":"TCP"}:
.: {}
f:name: {}
f:port: {}
f:protocol: {}
f:targetPort: {}
f:selector:
.: {}
f:app: {}
f:release: {}
f:sessionAffinity: {}
f:type: {}
manager: Go-http-client
operation: Update
time: "2020-09-13T16:29:40Z"
name: sonarqube-sonarqube
namespace: c7n-system
resourceVersion: "1185995"
selfLink: /api/v1/namespaces/c7n-system/services/sonarqube-sonarqube
uid: fb60d23d-162b-4066-970e-16fa2a47b958
spec:
clusterIP: 10.68.82.244
ports:
- name: sonarqube
port: 9000
protocol: TCP
targetPort: 9000
selector:
app: sonarqube
release: sonarqube
sessionAffinity: None
type: ClusterIP
status:
[root@ksm01 ~]# kubectl get ep -n c7n-system sonarqube-sonarqube -o yaml
apiVersion: v1
kind: Endpoints
metadata:
annotations:
endpoints.kubernetes.io/last-change-trigger-time: "2020-09-14T00:31:03+08:00"
creationTimestamp: "2020-09-13T16:29:40Z"
labels:
app: sonarqube
app.kubernetes.io/managed-by: Helm
chart: sonarqube-0.15.0-3
heritage: Helm
release: sonarqube
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:endpoints.kubernetes.io/last-change-trigger-time: {}
f:labels:
.: {}
f:app: {}
f:app.kubernetes.io/managed-by: {}
f:chart: {}
f:heritage: {}
f:release: {}
f:subsets: {}
manager: kube-controller-manager
operation: Update
time: "2020-09-13T16:31:03Z"
name: sonarqube-sonarqube
namespace: c7n-system
resourceVersion: "1186394"
selfLink: /api/v1/namespaces/c7n-system/endpoints/sonarqube-sonarqube
uid: e04b5b44-4e81-452c-bdb1-46c39cfbc6db
subsets:
- addresses:
- ip: 172.20.3.113
nodeName: 192.168.168.105
targetRef:
kind: Pod
name: sonarqube-sonarqube-8c9dccf5d-79qjx
namespace: c7n-system
resourceVersion: "1186392"
uid: 11e9df84-6868-477d-b3b7-85d11096a5c4
ports:
- name: sonarqube
port: 9000
[root@ksm01 ~]# kubectl describe pod -n c7n-system sonarqube-sonarqube-8c9dccf5d-79qjx
Name: sonarqube-sonarqube-8c9dccf5d-79qjx
Namespace: c7n-system
Priority: 0
Node: 192.168.168.105/192.168.168.105
Start Time: Mon, 14 Sep 2020 00:29:40 +0800
Labels: app=sonarqube
pod-template-hash=8c9dccf5d
release=sonarqube
Annotations: <none>
Status: Running
IP: 172.20.3.113
IPs:
IP: 172.20.3.113
Controlled By: ReplicaSet/sonarqube-sonarqube-8c9dccf5d
Init Containers:
install-plugins:
Container ID: docker://e8a54be074327870d585a94ce23236eaa463b2f4f78cac20edb51013eeea7a94
Image: joosthofman/wget:1.0
Image ID: docker-pullable://joosthofman/wget@sha256:74ef45d9683b66b158a0acaf0b0d22f3c2a6e006c3ca25edbc6cf69b6ace8294
Port: <none>
Host Port: <none>
Command:
sh
-c
mkdir -p /opt/sonarqube/extensions/plugins/tmp && rm -f /opt/sonarqube/extensions/plugins/tmp/* && cp /tmp/scripts/install_plugins.sh /opt/sonarqube/extensions/plugins/tmp/install_plugins.sh && chmod 0775 /opt/sonarqube/extensions/plugins/tmp/install_plugins.sh && /opt/sonarqube/extensions/plugins/tmp/install_plugins.sh && pwd && ls -lah
State: Terminated
Reason: Completed
Exit Code: 0
Started: Mon, 14 Sep 2020 00:29:42 +0800
Finished: Mon, 14 Sep 2020 00:29:45 +0800
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/opt/sonarqube/extensions/plugins/tmp from sonarqube (rw,path="tmp")
/tmp/scripts/ from install-plugins (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-6h7vz (ro)
Containers:
sonarqube:
Container ID: docker://4c335e698052114ae2cfd81ba90ab6f0a4e60531e1bdef8c17951243785caa6b
Image: sonarqube:7.6-community
Image ID: docker-pullable://sonarqube@sha256:c01d1381e4b0459beab744b9d2ed1df0a30deadcea5025f78972c4d3cc0793a0
Port: 9000/TCP
Host Port: 0/TCP
Command:
/usr/local/copy_plugins.sh
State: Running
Started: Mon, 14 Sep 2020 00:29:46 +0800
Ready: True
Restart Count: 0
Liveness: http-get http://:9000/sessions/new delay=60s timeout=1s period=30s #success=1 #failure=3
Readiness: http-get http://:9000/sessions/new delay=60s timeout=1s period=30s #success=1 #failure=6
Environment:
SONARQUBE_JDBC_USERNAME: sonarUser
SONARQUBE_JDBC_PASSWORD: <set to the key 'postgres-password' in secret 'sonarqube-postgresql'> Optional: false
SONARQUBE_JDBC_URL: jdbc:postgresql://sonarqube-postgresql:5432/sonarDB
Mounts:
/opt/sonarqube/data from sonarqube (rw,path="data")
/opt/sonarqube/extensions/plugins/tmp from sonarqube (rw,path="tmp")
/usr/local/ from copy-plugins (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-6h7vz (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
install-plugins:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: sonarqube-sonarqube-install-plugins
Optional: false
copy-plugins:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: sonarqube-sonarqube-copy-plugins
Optional: false
sonarqube:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: sonarqube-sonarqube
ReadOnly: false
default-token-6h7vz:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-6h7vz
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events: <none>
有解吗
这个
k8s 里面的资源是没有问题的, 你检查一下 sonarqube.devops.local 这个内网是不是正确解析的。
正常解析的。就是访问404
直接在k8s节点访问 <pod ip>:9000 呢?
你好,请执行下面语句,提供返回结果
curl -H 'HOST: sonarqube.devops.local' 任意worker节点IP
# 例如:
# curl -H 'HOST: sonarqube.devops.local' 192.168.1.2
[root@ksm01 ~]# curl -H 'Host:sonarqube.devops.local' 192.168.168.105
404 page not found
你好,请问集群是使用kubeadm-ha进行安装的吗?看返回的404结果并非ingress所返回的。请执行下面语句并提供结果
kubectl get svc -A
[root@ksm01 ~]# kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dashboard-metrics-scraper ClusterIP 10.68.248.90 <none> 8000/TCP 5d16h
kube-dns ClusterIP 10.68.0.2 <none> 53/UDP,53/TCP,9153/TCP 5d16h
kubernetes-dashboard ClusterIP 10.68.180.253 <none> 443/TCP 5d16h
metrics-server ClusterIP 10.68.71.105 <none> 443/TCP 5d16h
prometheus-operator-coredns ClusterIP None <none> 9153/TCP 2d23h
prometheus-operator-kube-controller-manager ClusterIP None <none> 10252/TCP 2d23h
prometheus-operator-kube-etcd ClusterIP None <none> 2379/TCP 2d23h
prometheus-operator-kube-proxy ClusterIP None <none> 10249/TCP 2d23h
prometheus-operator-kube-scheduler ClusterIP None <none> 10251/TCP 2d23h
prometheus-operator-kubelet ClusterIP None <none> 10250/TCP,10255/TCP,4194/TCP 3d
traefik ClusterIP 10.68.46.90 <none> 80/TCP,443/TCP,8080/TCP 4d19h
你好,请确认你使用的traefik是否支持ingress对象。
支持啊。我其他服务全部正常访问的啊。就这个不行。
请尝试编辑该ingress对象,删除所示部分后看看是否解决问题
[root@ksm01 ~]# kubectl edit ing -n c7n-system sonarqube-sonarqube
......
spec:
rules:
- host: sonarqube.devops.local
http:
paths:
- backend:
serviceName: sonarqube-sonarqube
servicePort: 9000
path: /
pathType: ImplementationSpecific
- - backend:
- serviceName: sonarqube-sonarqube
- servicePort: 9000
- path: /*
- pathType: ImplementationSpecific
......
可以了。问题出在- path: /*
后面多了个*