[英]AWS LoadBalancer doesn't connect to K8s POD
我已經在AWS中使用kubeadm
構建了一個單節點Kubernetes“集群”。
我已經使用此配置部署了一個簡單的Nginx部署:
kind: Deployment
apiVersion: apps/v1
metadata:
name: nginx0-deployment
labels:
app: nginx0-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx0
template:
metadata:
labels:
app: nginx0
spec:
containers:
- name: nginx
image: k8s.gcr.io/nginx:latest
ports:
- containerPort: 80
name: backend-http
我還創建了一個AWS ELB LoadBalancer:
kind: Service
apiVersion: v1
metadata:
name: nginx0-service
balancing-enabled: "true"
spec:
selector:
app: nginx0-deployment
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
這創建了ELB,並打開了K8s實例安全組中的相關端口。
{ec2-instance} ~ $ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/nginx0-deployment-548f99f47c-ns75w 1/1 Running 0 3m45s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 25h
service/nginx0-service LoadBalancer 10.106.179.191 acfc4150....elb.amazonaws.com 80:30675/TCP 63s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/nginx0-deployment 1/1 1 1 3m45s
NAME DESIRED CURRENT READY AGE
replicaset.apps/nginx0-deployment-548f99f47c 1 1 1 3m45s
但是,由於瀏覽到http://acfc4150....elb.amazonaws.com/
不起作用,ELB和POD之間仍然缺少某些內容http://acfc4150....elb.amazonaws.com/
表示ERR_EMPTY_RESPONSE。
我想這與ELB端口映射 80:30675 / TCP有關 -我已經檢查了實例上的傳入流量,並且看到端口30675的數據包,但沒有任何返回。 好像未建立此端口與POD的端口80之間的映射?
任何想法我應該添加到清單中以使其起作用嗎?
謝謝!
您的標簽有誤; 您部署 app: nginx0-deployment
,但你的豆莢 app: nginx0
和Service
■不要針對部署,他們的目標吊艙
更新您的Service
以具有:
spec:
selector:
app: nginx0
代替
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.