我有一个多容器 pod 部署,它公开端口 8080,当我在 pod 本地主机上远程登录时,容器内的端口可以通过 localhost 访问,但不能通过 pod IP 访问,但是当我在 / 中的 pod IP 上远程登录时etc/hosts 我连接被拒绝。
部署.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test
namespace: yara
labels:
component: test-multi-container-pod
spec:
replicas: 1
template:
metadata:
labels:
app: test
spec:
serviceAccountName: test
containers:
- name: container-1
image: "gcr.io/projectID/my-image1:v1.9.3"
pullPolicy: "IfNotPresent"
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 500m
memory: 2Gi
- name: container2
image: "gcr.io/projectID/my-image2:0.0.107"
pullPolicy: "IfNotPresent"
securityContext:
runAsUser: 0
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 500m
memory: 2Gi
- name: "app-container"
## nodejs image that exposes ports 3000 & 8080
image: "gcr.io/projectID/node:8.9.4_1804082101"
workingDir: "/usr/src/app"
pullPolicy: "Always"
command: ["tail", "-f", "/dev/null"]
ports:
- name: http
containerPort: 3000
- name: graphql
containerPort: 8080
resources:
limits:
cpu: 1500m
memory: 2Gi
requests:
cpu: 1500m
memory: 2Gi
服务.yaml
apiVersion: v1
kind: Service
metadata:
name: test-app
namespace: "yara"
labels:
component: test-multi-container-pod
spec:
type: NodePort
ports:
- protocol: TCP
name: http
port: 3000
targetPort: http
- protocol: TCP
name: graphql
port: 8080
targetPort: graphql
selector:
component: test-multi-container-pod