[英]Kubernetes Service connection refused
我想用 Kubernetes 創建一個示例應用程序,但是如果我嘗試連接到 Kubernetes 中的響應式服務,連接被拒絕。
例如,如果我從另一個 pod 連接到http://random-generator-svc:5050/,我會收到一個錯誤,提示連接被拒絕。
這是用於為隨機生成器創建服務和部署的 yaml 文件:
apiVersion: v1
kind: Service
metadata:
name: random-generator-svc
labels:
app: rand-gen
spec:
selector:
app: rand-gen
type: NodePort
ports:
- protocol: "TCP"
port: 5050
targetPort: 5050
name: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: random-generator-deployment
labels:
app: rand-gen
spec:
replicas: 2
selector:
matchLabels:
app: rand-gen
template:
metadata:
labels:
app: rand-gen
spec:
containers:
- name: random-generator-container
image: toky03/random-generator-image:1.2
ports:
- containerPort: 5050
這是指定服務和“調用者”應用程序部署的 yaml 文件:
apiVersion: v1
kind: Service
metadata:
name: middle-tier-svc
labels:
app: rand-gen
spec:
selector:
app: rand-gen
type: NodePort
ports:
- protocol: "TCP"
port: 7070
targetPort: 7070
name: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: middle-tier-controller
labels:
app: rand-gen
spec:
replicas: 1
selector:
matchLabels:
app: rand-gen
template:
metadata:
labels:
app: rand-gen
spec:
containers:
- name: random-controller-container
image: toky03/random-controller-image:1.2
ports:
- containerPort: 7070
我將類型更改為NodePort
以嘗試那里是否也存在此錯誤,但我能夠從集群外部訪問該服務。 我的 Kubernetes DNS 解析器可能有問題嗎?
非常感謝您的幫助。
默認情況下,kubernetes 創建一個虛擬代理。 然后,您可以在端口轉發后訪問您的服務。
kubectl port-forward svc random-generator-svc 5050:5050
那是因為你的 yaml 縮進中有一個輕微的錯字。 嘗試這個
apiVersion: v1
kind: Service
metadata:
name: random-generator-svc
labels:
app: rand-gen
spec:
selector:
app: rand-gen
type: NodePort
ports:
- protocol: "TCP"
port: 5050
targetPort: 5050
name: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: random-generator-deployment
labels:
app: rand-gen
spec:
replicas: 2
selector:
matchLabels:
app: rand-gen
template:
metadata:
labels:
app: rand-gen
spec:
containers:
- name: random-generator-container
image: toky03/random-generator-image:1.2
ports:
- containerPort: 5050
如果您只希望您的應用程序在您的集群中公開,只需刪除type: NodePort
例如:
apiVersion: v1
kind: Service
metadata:
name: random-generator-svc
labels:
app: rand-gen
spec:
selector:
app: rand-gen
ports:
- protocol: "TCP"
port: 5050
targetPort: 5050
name: http
試試 "http://random-generator-svc.default.svc.cluster.local:5050" 。 如果您正在使用任何名稱,則可以將“默認”替換為名稱空間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.