jenkins kubernetes.default:名称未解析

zf9nrax1  于 2022-11-28  发布在  Jenkins
关注(0)|答案(2)|浏览(194)

我正在运行OpenShift。

  • OpenShift大师:版本3.3.1.7
  • Kubernetes大师:版本1.3.0 + 52492 b4

但是我在Jenkins中运行一个构建时遇到了问题(在一个pod中运行)。这不是我试图构建的java代码的问题,而是Kubernetes/Openshift设置的问题。
构建失败,原因如下:

Caused by: java.net.UnknownHostException: kubernetes.default: Name does not resolve
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
    at java.net.InetAddress.getAllByName(InetAddress.java:1192)
    at java.net.InetAddress.getAllByName(InetAddress.java:1126)
    at okhttp3.Dns$1.lookup(Dns.java:39)
    ...

有人知道怎么解决这个问题吗?

rqmkfv5c

rqmkfv5c1#

首先确认DNS实际上与以下各项配合使用:

› kubectl run -i -t busybox --image=busybox --restart=Never 
Waiting for pod default/busybox to be running, status is Pending, pod ready: false
If you don't see a command prompt, try pressing enter.

/ # nslookup kubernetes.default
Server:    192.168.60.10
Address 1: 192.168.60.10 kube-dns.kube-system.svc.cluster.local

Name:      kubernetes.default
Address 1: 192.168.60.1 kubernetes.default.svc.cluster.local

如果不起作用,请检查DNS pod是否正在运行:

kubectl get pods --namespace=kube-system -l k8s-app=kube-dns

会做出如下回应:

NAME                 READY     STATUS    RESTARTS   AGE
kube-dns-v14-3u5zi   3/3       Running   36         166d

最后,检查相关日志值得一试:

kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c kube-dns
kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c dnsmasq
kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c healthz

完整说明可在kubernetes.io上找到

fquxozlt

fquxozlt2#

请检查管理jenkins -〉配置全局安全-〉代理端口是否为50000和固定

相关问题