首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在kubectl的输出中,2/2的意思是得到所有的-n cass算子。

在kubectl的输出中,2/2的意思是得到所有的-n cass算子。
EN

Stack Overflow用户
提问于 2020-07-03 10:33:26
回答 1查看 2.5K关注 0票数 3

我有一个3节点Kubernetes集群,我使用Cass-操作符在其上设置了Cassandra。我正在按照这里的指示- https://github.com/datastax/cass-operator

2/2在以下命令的输出中意味着什么?

代码语言:javascript
复制
kubectl get all -n cass-operator
NAME                                READY   STATUS    RESTARTS   AGE
pod/cass-operator-78c6469c6-6qhsb   1/1     Running   0          139m
pod/cluster1-dc1-default-sts-0      2/2     Running   0          138m
pod/cluster1-dc1-default-sts-1      2/2     Running   0          138m
pod/cluster1-dc1-default-sts-2      2/2     Running   0          138m

这是否意味着有3个数据中心每个运行两个cassandra节点?这应该是因为我的K8S集群只有3个节点。

代码语言:javascript
复制
manuchadha25@cloudshell:~ (copper-frame-262317)$ gcloud compute instances list
NAME                                              ZONE            MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
gke-cassandra-cluster-default-pool-92d544da-6fq8  europe-west4-a  n1-standard-1               10.164.0.26  34.91.214.233  RUNNING
gke-cassandra-cluster-default-pool-92d544da-g0b5  europe-west4-a  n1-standard-1               10.164.0.25  34.91.101.218  RUNNING
gke-cassandra-cluster-default-pool-92d544da-l87v  europe-west4-a  n1-standard-1               10.164.0.27  34.91.86.10    RUNNING

还是每个K8S节点运行两个容器的Cassandra操作符?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-03 14:00:35

当您部署某个应用程序时,一个pod内部可以有多个容器。如果您将检查Kubernetes Pod博士,您可以找到两个类型:

运行单个容器的Pods .

“每个Pod一个容器”模型是最常见的Kubernetes用例;在本例中,您可以将Pod看作单个容器的包装器,而Kubernetes管理Pods而不是直接管理容器。

运行需要协同工作的多个容器的Pods .

Pod可以封装由多个位于同一位置的容器组成的应用程序,这些容器紧密耦合,需要共享资源。这些位于同一地点的容器可能形成一个统一的服务单元--一个从共享卷向公众提供文件的容器,而另一个“侧”容器则刷新或更新这些文件。Pod将这些容器和存储资源封装为一个单一的可管理实体。

您可以在这个医生中找到更多信息。

如何使用两个容器配置Pod YAML,可以找到这里。在.spec.containers中,您可以指定2个或多个容器。

我已经部署了那些YAML。

代码语言:javascript
复制
$ kubectl get po -n cass-operator
NAME                             READY   STATUS    RESTARTS   AGE
cass-operator-78c9999797-gb88g   1/1     Running   0          4m26s
cluster1-dc1-default-sts-0       2/2     Running   0          4m12s
cluster1-dc1-default-sts-1       2/2     Running   0          4m12s
cluster1-dc1-default-sts-2       2/2     Running   0          4m12s

现在你得描述一下豆荚。在我的例子中,its:

代码语言:javascript
复制
$ kubectl describe po cluster1-dc1-default-sts-0 -n cass-operator

Containers:下,您可以找到图像、端口、状态、挂载等细节。

代码语言:javascript
复制
Containers:
  cassandra:
    Container ID:   docker://49b58eacc380da6c29928677e84082373d4330a91c29b29f3f3b021e43c21a38
    Image:          datastax/cassandra-mgmtapi-3_11_6:v0.1.5
    Image ID:       docker-pullable://datastax/cassandra-mgmtapi-3_11_6@sha256:aa7d6072607e60b1dfddd5877dcdf436660bacd31dd4aa6c8c2b85978c9fd170
   ....
  server-system-logger:
    Container ID:  docker://d0b572e767236e2baab7b67d5ad0fc6656b862fc4e463aa1836de80d34f608ea
    Image:         busybox
    Image ID:      docker-pullable://busybox@sha256:2131f09e4044327fd101ca1fd4043e6f3ad921ae7ee901e9142e6e36b354a907
    Port:          <none>

这个吊舱有两个容器

  • 名称:cassandra
  • 名称:server-system-logger

当有带1/2**?**的豆荚时,是什么?

这意味着在这个特定的pod中,只有一个容器是running。容器状态为WaitingRunningTerminated。更多信息,您可以找到这里

用例?可以从指定的容器中检查日志。

代码语言:javascript
复制
$ kubectl logs cluster1-dc1-default-sts-0 -n cass-operator -c cassandra
Starting Management API
/docker-entrypoint.sh: line 74: [: missing `]'
Running java -Xms128m -Xmx128m -jar /opt/mgmtapi/datastax-mgmtapi-server-0.1.0-SNAPSHOT.jar --cassandra-socket /tmp/cassandra.sock --host tcp://0.0.0.0:8080 --host file:///tmp/oss-mgmt.sock --explicit-start true --cassandra-home /var/lib/cassandra/
INFO  [main] 2020-07-03 13:43:08,199 Cli.java:343 - Cassandra Version 3.11.6
INFO  [main] 2020-07-03 13:43:08,709 ResteasyDeploymentImpl.java:551 - RESTEASY002225: Deploying javax.ws.rs.core.Application: class com.datastax.mgmtapi.ManagementApplication
...

代码语言:javascript
复制
$ kubectl logs cluster1-dc1-default-sts-0 -n cass-operator -c server-system-logger
INFO  [main] 2020-07-03 13:44:04,588 YamlConfigurationLoader.java:89 - Configuration location: file:/etc/cassandra/cassandra.yaml
INFO  [main] 2020-07-03 13:44:06,137 Config.java:516 - Node configuration:[allocate_tokens_for_keyspace=null; authenticator=org.apache.cassandra.auth.PasswordAuthenticator; authorizer=org.apache.cassandra.auth.CassandraAuthorizer; auto_bootstrap=true; auto_snapshot=true;
...

你也可以让这个吊舱YAML来验证。在本例中,您可以通过以下方法来完成此操作:

代码语言:javascript
复制
$ kubectl get po cluster1-dc1-default-sts-0 -n cass-operator -o yaml

作为您问题的补充:

或Cassandra-操作符在每个K8S节点运行两个容器?

每个吊舱有两个集装箱。您可以通过以下方式检查哪个pod被调度到哪个节点:

代码语言:javascript
复制
$ kubectl get pods -n cass-operator -o wide
NAME                             READY   STATUS    RESTARTS   AGE   IP          NODE                                       NOMINATED NODE   READINESS GATES
cass-operator-78c9999797-gb88g   1/1     Running   0          20m   10.44.1.4   gke-cluster-2-default-pool-5aa60336-n3hr   <none>           <none>
cluster1-dc1-default-sts-0       2/2     Running   0          19m   10.44.1.5   gke-cluster-2-default-pool-5aa60336-n3hr   <none>           <none>
cluster1-dc1-default-sts-1       2/2     Running   0          19m   10.44.2.3   gke-cluster-2-default-pool-5aa60336-dl2g   <none>           <none>
cluster1-dc1-default-sts-2       2/2     Running   0          19m   10.44.0.9   gke-cluster-2-default-pool-5aa60336-m7ms   <none>           <none>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62713598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档