Docker 使用部署模拟kubernetes中的守护程序集
我试图使用Deployment/RC/Replica set模拟kubernetes中的守护进程集 我想要实现的目标: 由于守护进程像wise一样在每个节点上设置了种类部署pod,我希望在每个节点上部署pod,但不使用种类守护程序Docker 使用部署模拟kubernetes中的守护程序集,docker,kubernetes,Docker,Kubernetes,我试图使用Deployment/RC/Replica set模拟kubernetes中的守护进程集 我想要实现的目标: 由于守护进程像wise一样在每个节点上设置了种类部署pod,我希望在每个节点上部署pod,但不使用种类守护程序 有什么办法吗?找不到正确的方法来执行此操作。您可以通过使用Kubernetes中的Deployment/ReplicaSet和主机端口来执行此操作 假设Kubernetes集群中有4个节点,则可以创建一个部署或复制集,其中主机端口和副本的数量等于集群中的节点数量 例如
有什么办法吗?找不到正确的方法来执行此操作。您可以通过使用Kubernetes中的Deployment/ReplicaSet和主机端口来执行此操作 假设Kubernetes集群中有4个节点,则可以创建一个部署或复制集,其中主机端口和副本的数量等于集群中的节点数量
例如,您希望在clustersize等于4的每个节点上运行nginx pod,然后在部署/复制集定义中提到主机端口到容器端口。kubernetes调度程序将无法在同一主机上调度多个pod,因此所有节点都至少调度了一个pod
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-hello
labels:
tier: frontend
app: nginx-hello
spec:
replicas: 4
template:
metadata:
labels:
tier: frontend
app: nginx-hello
spec:
containers:
- name: nginx-hello
image: nginxdemos/hello
ports:
- containerPort: 80
hostPort: 8088
您可以在这里看到更多用例 无法在同一节点上调度使用相同hostPort的两个容器,并且hostPort的使用被视为特权。 因此它有一些限制,比如 1) 副本数量不应超过将耗尽主机端口的节点数量:) 2) 所有主机都必须处于健康状态,以便schedular可以在每个主机上调度播客
希望它能帮助您……您也可以使用此用例,使用setbased标签条件在多区域kubernetes群集上调度,例如两个区域zoneA中的2个节点,zoneB环境=生产,zoneA(zoneA,zoneB),但如果您的
节点之一未就绪
,在一个节点中必须有多个pod
和hostPort
,该节点必须无法启动第二个pod,因为主机端口
已被占用。k8s不会在新节点中启动新的pod
,除非在就绪节点数
更改时添加或减少副本
。但要求是为每个节点调度一个pod。因此,即使节点未就绪,也不会调度pod。