
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Cass Operator是DataStax提供的Kubernetes Operator,用于在Kubernetes集群上部署、管理和运维Apache Cassandra®。通过自定义资源定义(CRD)简化Cassandra集群的生命周期管理,提供自动化节点管理、配置集成和高可用性保障,适用于需要在Kubernetes环境中运行Cassandra的生产和开发场景。
operator由以下协同工作的容器镜像组成:
适用于需要在Kubernetes环境中部署和管理Apache Cassandra的场景,包括:
console# 适用于GKE Regular Channel (k8s 1.16),根据实际环境调整 kubectl create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.4.0/docs/user/cass-operator-manifests-v1.16.yaml kubectl create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.4.0/operator/k8s-flavors/gke/storage.yaml kubectl -n cass-operator create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.4.0/operator/example-cassdc-yaml/cassandra-3.11.x/example-cassdc-minimal.yaml
consoleK8S_VER=v1.16 # 支持1.13-1.17版本 kubectl apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.4.0/docs/user/cass-operator-manifests-$K8S_VER.yaml
注意:安装需要集群管理员权限,因为涉及自定义资源定义(CRD)的创建
consolekubectl -n cass-operator get pods --selector name=cass-operator # 预期输出: # NAME READY STATUS RESTARTS AGE # cass-operator-555577b9f8-zgx6j 1/1 Running 0 25h
存储类定义Cassandra节点使用的存储类型,以下是GKE环境SSD存储类示例:
yamlapiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: server-storage provisioner: kubernetes.io/gce-pd parameters: type: pd-ssd replication-type: none volumeBindingMode: WaitForFirstConsumer reclaimPolicy: Delete
应用存储类:
consolekubectl apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.4.0/operator/k8s-flavors/gke/storage.yaml
以下示例创建包含3个节点的Cassandra 3.11.7数据中心:
yamlapiVersion: cassandra.datastax.com/v1beta1 kind: CassandraDatacenter metadata: name: dc1 spec: clusterName: cluster1 serverType: cassandra serverVersion: 3.11.7 managementApiAuth: insecure: {} size: 3 # 节点数量 storageConfig: cassandraDataVolumeClaimSpec: storageClassName: server-storage # 引用前面创建的存储类 accessModes: - ReadWriteOnce resources: requests: storage: 5Gi # 每个节点的存储请求 config: cassandra-yaml: authenticator: org.apache.cassandra.auth.PasswordAuthenticator authorizer: org.apache.cassandra.auth.CassandraAuthorizer role_manager: org.apache.cassandra.auth.CassandraRoleManager jvm-options: initial_heap_size: 800M max_heap_size: 800M
应用配置:
consolekubectl -n cass-operator apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.4.0/operator/example-cassdc-yaml/cassandra-3.11.x/example-cassdc-minimal.yaml
consolekubectl -n cass-operator get pods --selector cassandra.datastax.com/cluster=cluster1 # 预期输出: # NAME READY STATUS RESTARTS AGE # cluster1-dc1-default-sts-0 2/2 Running 0 26h # cluster1-dc1-default-sts-1 2/2 Running 0 26h # cluster1-dc1-default-sts-2 2/2 Running 0 26h
consolekubectl -n cass-operator get cassdc/dc1 -o "jsonpath={.status.cassandraOperatorProgress}" # 预期输出:Ready(表示部署完成)
说明:
cassdc和cassdcs是CassandraDatacenter的缩写形式
consolekubectl -n cass-operator exec -it -c cassandra cluster1-dc1-default-sts-0 -- nodetool status
Operator默认创建安全集群,超级用户凭证存储在Kubernetes secret中:
console# 获取超级用户凭证 CASS_USER=$(kubectl -n cass-operator get secret cluster1-superuser -o json | jq -r '.data.username' | base64 --decode) CASS_PASS=$(kubectl -n cass-operator get secret cluster1-superuser -o json | jq -r '.data.password' | base64 --decode) # 使用cqlsh连接 kubectl -n cass-operator exec -ti cluster1-dc1-default-sts-0 -c cassandra -- sh -c "cqlsh -u '$CASS_USER' -p '$CASS_PASS'"
consolekubectl create namespace cass-operator-system
consolehelm install --namespace=cass-operator-system cass-operator ./charts/cass-operator-chart
yamlclusterWideInstall: false # 是否集群范围安装 serviceAccountName: cass-operator roleName: cass-operator roleBindingName: cass-operator webhookClusterRoleName: cass-operator-webhook webhookClusterRoleBindingName: cass-operator-webhook deploymentName: cass-operator deploymentReplicas: 1 # operator副本数 image: "docker.xuanyuan.run/datastax/cass-operator:1.4.0" # operator镜像 imagePullPolicy: IfNotPresent
集群范围安装示例:
consolehelm install --set clusterWideInstall=true --namespace=cass-operator-system cass-operator ./charts/cass-operator-chart
注意:Helm不自动安装存储类,需手动创建
警告:以下操作将销毁所有数据,请谨慎执行!
consolekubectl delete cassdcs --all-namespaces --all
consolekubectl delete -f https://raw.githubusercontent.com/datastax/cass-operator/v1.4.0/docs/user/cass-operator-manifests-v1.16.yaml
Copyright DataStax, Inc.
根据Apache License 2.0许可。您可以在http://www.apache.org/licenses/LICENSE-2.0%E8%8E%B7%E5%8F%96%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%89%AF%E6%9C%AC%E3%80%82%E9%99%A4%E9%9D%9E%E9%80%82%E7%94%A8***%E8%A6%81%E6%B1%82%E6%88%96%E4%B9%A6%E9%9D%A2%E5%90%8C%E6%84%8F%EF%BC%8C%E8%BD%AF%E4%BB%B6%E6%8C%89%22%E5%8E%9F%E6%A0%B7%22%E5%88%86%E5%8F%91%EF%BC%8C%E4%B8%8D%E6%8F%90%E4%BE%9B%E4%BB%BB%E4%BD%95%E6%98%8E%E7%A4%BA%E6%88%96%E6%9A%97%E7%A4%BA%E6%8B%85%E4%BF%9D%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务