Kubernetes 库伯内特斯豆荚数

Kubernetes 库伯内特斯豆荚数,kubernetes,Kubernetes,我不确定Kubernetes中定义的应该运行的吊舱数量在哪里 如果我运行kubectl get pods-n我的命名空间,我可以看到: NAME READY STATUS RESTARTS AGE my-project-code-php-fpm-6db9cc4796-spz72 3/3 Runni

我不确定Kubernetes中定义的应该运行的吊舱数量在哪里

如果我运行
kubectl get pods-n我的命名空间
,我可以看到:

NAME                                                              READY     STATUS    RESTARTS   AGE
my-project-code-php-fpm-6db9cc4796-spz72                          3/3       Running   0          52m
my-project-code-php-fpm-6cb598f7c5-4hhhc                          3/3       Running   0          45m
my-project-code-rabbit-worker-6cb598f7c5-4ldx9                    3/3       Running   0          4m
我想更改my-project-code-rabbit-worker-6cb598f7c5-4ldx9的POD数量,但我不确定这个数字3来自哪里。有什么帮助吗


谢谢

在kubernetes(
k8s
)中部署应用程序时,直接依赖pod部署(自己部署pod)是很奇怪的

管理方法

有一组更高的抽象实体允许您控制应用程序的行为,并且它们可以管理所需POD的数量

这些实体包括,或。最新的部署是最常见的无状态应用程序。他们在下面使用ReplicateSets,这是真正的组件,能够管理您想要部署多少个吊舱

如果您通过定义部署来部署应用程序,那么在
.yaml
文件中,您应该有一个
replications
键,其中包含希望并行执行的所需数量的POD。比如:

spec:
  replicas: 3
如果您在部署了
部署
对象后要获取此信息,则应使用
kubectl
获取此信息,如下所示:

kubectl get deployments
使用输出,例如:

NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   0/3     0            0           1s
其中,
ready
列是具有
pods ready
/
所需pod副本的列

非托管方法

另一方面,如果您选择在没有这些更高级别实体的情况下初始化pod,那么它们将不是托管pod,因此您必须自己管理它们

在上述官方文件的链接中查找更多信息

吊舱与集装箱的对比

如果我们回到您的问题,您看到的是
kubectl
答案中的
3/3
值。当获取
pod
时,a由一个或多个
容器组成。它们在pod
.yaml
定义文件中定义,不必是同一个应用程序或服务

事实上,它们通常不是,因为您将分组到同一个pod容器中,这些容器出于某种原因或为了完成某些特定任务而需要在一起(请参见Init containers模式,等等)


因此,当您检索pod时,您不是看有多少pod副本可用,而是看有多少容器达到了组成pod的所有容器的状态。

当您在kubernetes(
k8s
)中部署应用程序时,直接依赖pod部署是很奇怪的(自己部署吊舱)

管理方法

有一组更高的抽象实体允许您控制应用程序的行为,并且它们可以管理所需POD的数量

这些实体包括或最新的部署,是最常用于无状态应用程序的。它们下面使用ReplicateSets,ReplicateSets是真正的组件,能够管理您希望部署多少个POD

如果您通过定义部署来部署应用程序,则在
.yaml
文件中,您应该有一个
replicas
键,其中包含希望并行执行的所需数量的POD。例如:

spec:
  replicas: 3
如果您在部署了
部署
对象后要获取此信息,则应使用
kubectl
获取此信息,如下所示:

kubectl get deployments
使用输出,例如:

NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   0/3     0            0           1s
其中,
ready
列是具有
pods ready
/
所需pod副本的列

非托管方法

另一方面,如果您选择在没有这些更高级别实体的情况下初始化pod,那么它们将不是托管pod,因此您必须自己管理它们

在上述官方文件的链接中查找更多信息

吊舱与集装箱的对比

如果我们回到您的问题,您正在查看
kubectl
答案中的
3/3
值。获取
pod
时,a由一个或多个
容器组成。它们在pod
定义文件中定义。yaml
定义文件中定义,并且它们不必是相同的应用程序或服务

事实上,它们通常不是,因为您将分组到同一个pod容器中,这些容器出于某种原因或为了完成某些特定任务而需要在一起(请参见Init containers模式,等等)

因此,当您检索pod时,您并不是看有多少pod副本可用,而是看有多少容器达到了“就绪”状态/组成pod的所有容器。

请检查。yaml

spec:
  replicas: 3  --> change this
谢谢,亚姆

spec:
  replicas: 3  --> change this

3/3是在该pod中运行的容器数/准备就绪的容器数。您只有一个rabbit worker和两个php fpm pod。看起来它们是使用部署进行部署的,因此您可以更改部署以设置副本,或者使用kubectl scale deployment--replicas=n。3/3是在该p中运行的容器数od/准备就绪的容器数。您只有一个rabbit worker和两个php fpm吊舱。看起来它们是使用部署部署的,因此您可以更改部署以设置副本,或者使用kubectl scale部署--replicas=n