我有一個關于kubernetes網絡的問題。
我的工作顧問:
- 我在本地主機上有一個Jenkins容器,這個容器正在運行。在Jenkins里面,我有一份工作。訪問jenkins,我使用“http://localhost:8080“url。(Jenkins沒有在kubernetes內運行)
- 我的flask應用程序,使用以下命令觸發Jenkins作業:
@app.route("/create",methods=["GET","POST"]) def create(): if request.method =="POST": dosya_adi=request.form["sendmail"] server = jenkins.Jenkins('http://localhost:8080/', username='my-user-name', password='my-password') server.build_job('jenkins_openvpn', {'FILE_NAME': dosya_adi}, token='my-token')
- 然后,我做了Dockerize這個flask應用程序。我的圖像名是:"jenkins-app”
- 如果我運行這個命令,一切都會變得完美:
docker run -it --network="host" --name=jenkins-app jenkins-app
但是我想對kubernetes做同樣的事情。為此我寫了這個yml文件。
apiVersion: v1
kind: Pod
metadata:
name: jenkins-pod
spec:
hostNetwork: true
containers:
- name: jenkins-app
image: jenkins-app:latest
imagePullPolicy: Never
ports:
- containerPort: 5000
- 使用這個yml文件,我使用端口5000訪問flask應用程序。當我想觸發jenkins作業時,我得到了如下錯誤:requests.exceptions.ConnectionError
你會建議有沒有辦法用Kubernetes做到這一點?
我創建了一個endpoint.yml文件,并在該文件中添加以下命令,這解決了我的問題:
然后,我在我的flask應用程序中更改這一行,如下所示: