Apache spark 如何在Kubernetes中对外公开状态集cassandra集群的无头服务
我正在kubernetes(Azure AKS)中设置多节点cassandra集群,因为这是一个无头服务,没有外部IP,具有完整的状态集POD。 如何将spark应用程序与kubernetes群集中的cassandra连接起来 我们已经尝试了集群ip,入口ip,但只有一个pod正在启动,其余的都失败了 我有3份舱单:Apache spark 如何在Kubernetes中对外公开状态集cassandra集群的无头服务,apache-spark,cassandra,kubernetes,Apache Spark,Cassandra,Kubernetes,我正在kubernetes(Azure AKS)中设置多节点cassandra集群,因为这是一个无头服务,没有外部IP,具有完整的状态集POD。 如何将spark应用程序与kubernetes群集中的cassandra连接起来 我们已经尝试了集群ip,入口ip,但只有一个pod正在启动,其余的都失败了 我有3份舱单: 服务 持久卷目标 状态集 预期结果:(公共ip作为外部ip) dspg@Digiteds28:$kubectl获得svc 名称类型CLUSTER-IP外部IP端口年龄 kubern
dspg@Digiteds28:$kubectl获得svc
名称类型CLUSTER-IP外部IP端口年龄
kubernetes ClusterIP 10.0.0.1 443/TCP 1h
cassandra ClusterIP None 154.167.90.98 9042/TCP 1h
dspg@Digiteds28:$kubectl获得吊舱
名称就绪状态重新启动
卡桑德拉-0 1/1运行0 59米
卡桑德拉-1 1 1/1运行0 58米
卡桑德拉-2 1/1运行0.56米
实际产量:
dspg@Digiteds28:$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 1h
cassandra ClusterIP None <none> 9042/TCP 1h
dspg@Digiteds28:$ kubectl get pod
NAME READY STATUS RESTARTS AGE
cassandra-0 1/1 Running 0 59m
cassandra-1 1/1 Running 0 58m
cassandra-2 1/1 Running 0 56m
dspg@Digiteds28:$kubectl获得svc
名称类型CLUSTER-IP外部IP端口年龄
kubernetes ClusterIP 10.0.0.1 443/TCP 1h
cassandra ClusterIP None 9042/TCP 1h
dspg@Digiteds28:$kubectl获得吊舱
名称就绪状态重新启动
卡桑德拉-0 1/1运行0 59米
卡桑德拉-1 1 1/1运行0 58米
卡桑德拉-2 1/1运行0.56米
现在,这不包括连接到应用程序的外部IP。这取决于您正试图做什么。如果您需要外部IP,则通常需要创建一个额外的服务对象(可能是
类型:LoadBalancer
),如下所示:
apiVersion: v1
kind: Service
metadata:
labels:
app: cassandra
name: cassandra-ext
spec:
type: LoadBalancer
ports:
- port: 9042
selector:
app: cassandra
如果需要从集群内访问它,则使用另一个pod中的DNS名称cassandra-0.cassandra.default
(如果StatefulSet部署在默认命名空间中)
使用附加服务为我提供了一个外部IP,因为如果我开始将spark或devcenter应用程序连接到cassandra cluster。您好,如果您已经有一个公共IP,那么您可以使用上述推荐的externalIP服务字段创建一个附加服务,为我工作。非常有帮助的朋友。非常感谢。我可以使用默认的存储类挂载cassandra数据文件夹,但我需要使用Azure文件共享在其中查找困难。{link}()
dspg@Digiteds28:$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 1h
cassandra ClusterIP None <none> 9042/TCP 1h
dspg@Digiteds28:$ kubectl get pod
NAME READY STATUS RESTARTS AGE
cassandra-0 1/1 Running 0 59m
cassandra-1 1/1 Running 0 58m
cassandra-2 1/1 Running 0 56m
apiVersion: v1
kind: Service
metadata:
labels:
app: cassandra
name: cassandra-ext
spec:
type: LoadBalancer
ports:
- port: 9042
selector:
app: cassandra
apiVersion: v1
kind: Service
metadata:
labels:
app: cassandra
name: cassandra-ext
spec:
type: LoadBalancer
ports:
- port: 9042
selector:
app: cassandra