如何在运行状态下获取豆荚

时间:2019-08-30 08:55:35

标签: kubernetes cassandra

我正在尝试使用两个不同的文件(部署和服务)在由三个虚拟机组成的Kubernetes集群上设置Cassandra。为此,我使用命令

  

kubectl创建-f 文件 .yaml

该服务文件运行完美,但是当我用三个副本启动另一个时,pod的状态为CrashLoopBackOff而不是运行。

部署文件的配置如下

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: cassandra
  labels:
    app: cassandra
spec:
  replicas: 3
  selector:
    matchLabels:
      app: cassandra
  template:
    metadata:
      labels:
        app: cassandra
    spec:
      containers:
      - name: cassandra
        image: gcr.io/google_containers/cassandra:v5
        ports:
        - containerPort: 9042

这是服务文件

apiVersion: v1
kind: Service
metadata:
  labels:
    app: cassandra
  name: cassandra
spec:
  type: NodePort
  ports:
    - port: 9042
  selector:
    app: cassandra

我对此表示感谢。

1 个答案:

答案 0 :(得分:3)

您不应该使用Deployment运行有状态的应用程序。建议使用StatefulSets来运行cassandra等数据库。

点击以下链接以供参考-> https://kubernetes.io/docs/tutorials/stateful-application/cassandra/