当前位置: 首页 > 知识库问答 >
问题:

外部访问有状态无头库伯内特?

贺卜霸
2023-03-14

我在AWS上创建了Cassandra有状态/无头集群,它在集群内运行良好。唯一的问题是我无法从集群外部访问它。我尝试了Kubernetes文档或StackOverflow引用中的大部分内容,但仍然无法解决它。

我有一个AWS的安全小组。这里是我的服务和statefulset yaml文件。

apiVersion: v1
kind: Service
metadata:
  name: cassandra
spec:
  externalTrafficPolicy: Local
  ports:
  - nodePort: 30000
    port: 30000
    protocol: TCP
    targetPort: 9042
  selector:
    app: cassandra
  type: NodePort
apiVersion: "apps/v1"
kind: StatefulSet
metadata:
  name: cassandra
spec:
  serviceName: cassandra
  replicas: 2
  selector:
    matchLabels:
      app: cassandra
  template:
    metadata:
      labels:
        role: cassandra
        app: cassandra
    spec:
      terminationGracePeriodSeconds: 10
      containers:
        - env:
            - name: MAX_HEAP_SIZE
              value: 1024M
            - name: HEAP_NEWSIZE
              value: 1024M
            - name: CASSANDRA_SEEDS
              value: "cassandra-0.cassandra.default.svc.cluster.local"
            - name: CASSANDRA_CLUSTER_NAME
              value: "SetuCassandra"
            - name: CASSANDRA_DC
              value: "DC1-SetuCassandra"
            - name: CASSANDRA_RACK
              value: "Rack1-SetuCassandra"
            - name: CASSANDRA_SEED_PROVIDER
              value: io.k8s.cassandra.KubernetesSeedProvider
            - name: POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
          image: library/cassandra:3.11
          name: cassandra
          volumeMounts:
            - mountPath: /cassandra-storage
              name: cassandra-storage
          ports:
            - containerPort: 9042
              name: cql
  volumeClaimTemplates:
  - metadata:
      name: cassandra-storage
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 320Gi

共有1个答案

伏星汉
2023-03-14

没有关于AWS安全组的足够详细信息。但我猜测集群中的安全组不允许来自其他集群的安全组或IP地址的流量。类似这样的事情:

 类似资料:
  • 问题内容: 我想使用React.js制作一个应用程序。我希望它可以轻松地从外部进行自定义(例如,通过编写用户脚本)。我尝试使用的想法是在根元素状态(如或)中创建一些特殊的属性,以便插件开发人员可以在此处添加一些内容。我的问题是:这是否是一个好方法,是否有Right Way™实现与我的目标相似的目标,最后,插件开发人员将如何使用这些道具? 问题答案: 一种选择是可观察的。基本上,它是一个对象,您可以

  • 我有一个朋友允许我访问他的kube集群(托管在IBM云上)。 我可以通过IBM云控制台登录 但是,当我试图通过kubectl访问它们时:kubectl get节点 结果显示一条错误消息: 服务器错误(禁止):节点被禁止:用户https://iam.ng.bluemix.net/kubernetes#无法在群集范围内列出节点。 为什么控制台和CLI之间的访问(RBAC)会有所不同?

  • 我只是在本地mac上使用mini kube设置kubernetes。 创建了一个类型为NodePort的服务,并且能够使用url

  • 我是库伯内特斯的新手。我已经在Oracle虚拟盒管理器上设置了3个Ubuntu 20.04.2 LTS虚拟机。 根据以下文档,我已经在所有3个虚拟机中安装了docker、kubelet、kubeadm和kubectl https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ 我使用以

  • 如果之前已经回答过,我很抱歉,但我对Ingress Nginx正在与服务合作感到有点困惑。 我正在尝试在我的库伯内特斯环境中实现nginx入口。到目前为止,我有一个ingres-nginx-控制器-部署设置,以及默认后端的部署和服务。我仍然需要创建我的实际入口资源、ingres-nginx-控制器-服务和我的后端。 <代码>卷曲 我的问题是这是怎么可能的,我可以在集群之外的浏览器上为我的节点访问端

  • 我正在构建一个消息传递应用程序。我使用setTimeout每隔5秒从后端检索一次消息日志,并将其存储在一个状态变量中。我让它也滚动到聊天窗口的底部每次超时,但我试图使它只发生在有一个新的消息在响应对象。问题是我无法访问检索它的函数中的状态变量。理想情况下,我会将响应对象的长度与状态变量的当前长度进行比较,以确定是否存在新的响应。 这是我的代码: 在处理逻辑方面,我也愿意接受更好的建议。提前道谢!