kubernetes - 具有复制功能的两台服务器上的 Kubernetes Cassandra 负载平衡
问题描述
我有两个 ubuntu 服务器(在同一个网络上),我需要在它们两个上都在 Kubernetes 上安装 Cassandra。(每个节点 4 个)谁能帮我解决这个问题。
这是我的 cluster.yaml 文件(在服务器 1 上)
不知道如何配置服务器 2。
以下是设置的方式:
服务器数量:2(Ubuntu OS)每台服务器的节点数量:4
kind: StatefulSet
metadata:
name: cassandra
namespace: cassandra
labels:
app: cassandra
spec:
serviceName: cassandra
replicas: 4
selector:
matchLabels:
app: cassandra
template:
metadata:
labels:
app: cassandra
spec:
terminationGracePeriodSeconds: 1800
containers:
- name: cassandra
image: datastax/dse-server:6.7.7
imagePullPolicy: Always
ports:
- containerPort: 7000
name: intra-node
- containerPort: 7001
name: tls-intra-node
- containerPort: 7199
name: jmx
- containerPort: 9042
name: cql
resources:
limits:
cpu: "8000m"
memory: 16Gi
requests:
cpu: "8000m"
memory: 16Gi
securityContext:
capabilities:
add:
- IPC_LOCK
lifecycle:
preStop:
exec:
command:
- /bin/sh
- -c
- nodetool drain
env:
- name: MAX_HEAP_SIZE
value: 8G
- name: HEAP_NEWSIZE
value: 8G
- name: SEEDS
value: "10.32.0.4,10.32.0.5"
- name: CLUSTER_NAME
value: "HEROIC Cluster"
- name: DC
value: "dc1"
- name: RACK
value: "rack1"
- name: NUM_TOKENS
value: "128"
- name: DS_LICENSE
value: "accept"
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
readinessProbe:
exec:
command:
- /bin/bash
- -c
- "cp /ready_probe.sh /tmp/ready_probe.sh && chmod 777 /tmp/ready_probe.sh && /tmp/ready_probe.sh"
initialDelaySeconds: 20
timeoutSeconds: 5
volumeMounts:
- name: cassandra-data
mountPath: /var/lib/cassandra
subPath: cassandra
- name: cassandra-data
mountPath: /var/lib/spark
subPath: spark
- name: cassandra-data
mountPath: /var/lib/dsefs
subPath: dsefs
- name: cassandra-data
mountPath: /var/log/cassandra
subPath: log-cassandra
- name: cassandra-data
mountPath: /var/log/spark
subPath: log-spark
- name: cassandra-data
mountPath: /config
subPath: config
- name: cassandra-data
mountPath: /var/lib/opscenter
subPath: opscenter
- name: cassandra-data
mountPath: /var/lib/datastax-studio
subPath: datastax-studio
- name: script
mountPath: /ready_probe.sh
subPath: ready.sh
volumes:
- name: script
configMap:
name: script
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- ubuntuserver
volumeClaimTemplates:
- metadata:
name: cassandra-data
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: local-storage
resources:
requests:
storage: 2Gi
谁能帮我解决这个问题。
解决方案
推荐阅读
- python - Seaborn 的箱线图胡须含义
- kubernetes - 解析 Kubernetes 环境变量中的服务名称
- django - 'error': 'invalid_request', 'error_description': '无效的 grant_type 参数或缺少参数'
- react-native - 动作必须是普通对象。在 React Native 中使用客户中间件进行异步操作
- reactjs - 无法设置状态 - 尝试使用 Axios、AJAX 和 fetch()
- c# - DateTime 类中的 Stander "s" 说明符
- java - java stringbuilder删除一行
- spring - 如何在 Spring 中发送带有多部分文件的 json?
- python-2.7 - 如何获得带有动态标签的计时器?
- scenebuilder - 我们可以在 Java Scene Builder 2.0 中在 5 秒后不使用按钮来更改场景吗