docker - Pod部署问题和Kubernetes集群上的查询

标签 docker kubernetes kubernetes-pod

我使用1个主节点和2个节点创建了k8s集群和网络。但是,在pod(nginx)部署期间,部署仅在一个服务器(即node1)上发生,而不在其他服务器(即node2)上发生,结果显示为o / p之下

[root@controller Kubernetes]# kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE   IP            NODE    NOMINATED NODE   READINESS GATES
nginx   1/1     Running   0          10m   192.168.1.2   node1   <none>           <none>
[root@controller Kubernetes]#


这意味着nginx仅部署在node1上,而不部署在node2上

节点加入主节点的结果
NAME         STATUS   ROLES    AGE    VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME
controller   Ready    master   142m   v1.16.0   192.168.33.20   <none>        CentOS Linux 7 (Core)   3.10.0-1062.1.1.el7.x86_64   docker://1.13.1
node1        Ready    <none>   134m   v1.16.0   192.168.33.10   <none>        CentOS Linux 7 (Core)   3.10.0-1062.1.1.el7.x86_64   docker://1.13.1
node2        Ready    <none>   46m    v1.16.0   192.168.33.30   <none>        CentOS Linux 7 (Core)   3.10.0-1062.1.1.el7.x86_64   docker://1.13.1
[root@controller Kubernetes]#

Pod文件:
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
     name: nginx-web-application

spec:
  containers:
    - name: nginx-container
      image: nginx

当我在命令下运行时,我想也看到node2上也发生了部署,请问一下为什么两个节点上都没有发生部署:
kubectl create -f pod.yml

最佳答案

您的设置将创建一个Pod,其中一个节点上有一个容器(该容器由kube-scheduler决定)。

如果要在每个节点上运行该Pod,请使用DaemonSet,以确保在每个节点上运行Pod的副本。

具有两个或更多副本的Deployment应该可以工作,因为如果两个节点都能够运行该pod,则您有两个节点(请参阅kube-scheduler)。

最后一件事-您可以使用Taints and Tolerations。最简单的方法是对node1进行污染,以免在其上切开pod(例如来自文档的示例):

kubectl taint nodes node1 key:NoSchedule-

关于docker - Pod部署问题和Kubernetes集群上的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58183678/

相关文章:

tomcat - docker compose 不启动容器内的服务

postgresql - docker-compose:创建数据库容器时控制台不返回主机

laravel - Artisan 无法连接到容器中的 Composer

go - 使用 kubeconfig 进行 helm 客户端安装挂起

kubernetes - 无法为 kube-lego 创建 ClusterRole

Docker 容器在 kubernetes 内工作/不工作

node.js - Docker 不会构建 Node 容器

jenkins-plugins - 谷歌容器注册和 Jenkins

kubernetes - 如何删除除最新一个之外具有相同名称表达式的多个 Kubernetes pod?

kubernetes - Kubernetes 0.15 中从 dockerhub 拉取镜像失败