我有一个带有2个奴隶的Kubernetes集群。我有4个docker容器,它们都使用tomcat映像并暴露端口8080和8443.当我现在将每个容器放入一个单独的pod时,我遇到了端口问题,因为我只有2个工作节点。 什么是我的方案的最佳策略?
当前错误消息是:1 PodToleratesNodeTaints,2 PodFitsHostPorts。
将所有容器放入一个容器中?这是我目前的设置(第4次)
kind: Deployment
apiVersion: apps/v1beta2
metadata:
name: myApp1
namespace: appNS
labels:
app: myApp1
spec:
replicas: 1
selector:
matchLabels:
app: myApp1
template:
metadata:
labels:
app: myApp1
spec:
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
containers:
- image: myregistry:5000/myApp1:v1
name: myApp1
ports:
- name: http-port
containerPort: 8080
- name: https-port
containerPort: 8443
readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
failureThreshold: 6
---
kind: Service
apiVersion: v1
metadata:
name: myApp1-srv
namespace: appNS
labels:
version: "v1"
app: "myApp1"
spec:
type: NodePort
selector:
app: "myApp1"
ports:
- protocol: TCP
name: http-port
port: 8080
- protocol: TCP
name: https-port
port: 8443
答案 0 :(得分:1)
除非绝对必要,否则不应使用hostNetwork。如果没有主机网络,您可以让多个pod监听相同的端口号,因为每个pod都有自己的专用网络命名空间。