|
这是尚未发布的文档。 SUSE® Virtual Clusters v1.2.0 (Dev). |
高级用途
本文件提供了 k3k 的高级使用信息,包括详细的用例以及对 Cluster 资源字段自定义的说明。
自定义集群资源
Cluster 资源提供了多种字段,用于自定义虚拟集群的行为。请参阅 CRD 文档 以获取完整规格。
大多数自定义选项也可以使用 k3kcli 工具进行配置。有关更多详细信息,请参阅 k3kcli 文档。
|
此示例创建了一个 "共享" 模式的 K3k 集群,包含:
-
3 台服务器
-
K3s 版本 v1.31.3-k3s1
-
自定义网络配置
-
在特定节点上部署,使用
nodeSelector -
通过入口暴露
kube-api -
自定义 K3s
serverArgs -
使用
PVC持久化 ETCD 数据
apiVersion: k3k.io/v1beta1
kind: Cluster
metadata:
name: my-virtual-cluster
namespace: my-namespace
spec:
mode: shared
version: v1.31.3-k3s1
servers: 3
tlsSANs:
- my-cluster.example.com
nodeSelector:
disktype: ssd
expose:
ingress:
ingressClassName: nginx
annotations:
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/backend-protocol: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "HTTPS"
clusterCIDR: 10.42.0.0/16
serviceCIDR: 10.43.0.0/16
clusterDNS: 10.43.0.10
serverArgs:
- --tls-san=my-cluster.example.com
persistence:
type: dynamic
storageClassName: local-path
mode
mode 字段指定集群配置模式,可以是 shared 或 virtual。默认模式为 shared。
-
*
shared模式:*在此模式下,虚拟集群共享主集群的资源和网络。此模式适用于轻量级工作负载和开发环境,其中隔离不是主要关注点。 -
*
virtual模式:*在此模式下,虚拟集群作为主集群内的独立 K3s 集群运行。此模式提供更强的隔离,适用于生产工作负载或需要专用资源的情况。
version
version 字段指定虚拟节点使用的 Kubernetes 版本。如果未指定,K3k 将使用与主集群相同的 K3s 版本。例如,如果主集群运行的是 Kubernetes v1.31.3,K3k 将使用相应的 K3s 版本(例如,v1.31.3-k3s1)。
expose
expose 字段包含用于暴露虚拟集群 API 服务器的选项。默认情况下,API 服务器仅作为 ClusterIP 暴露,这相对安全,但从集群外部访问较困难。
您可以使用 expose 字段通过 NodePort、LoadBalancer 或 Ingress 启用暴露。
在这个例子中,我们通过 Nginx ingress-controller 暴露集群,该控制器必须使用 --enable-ssl-passthrough 标志进行配置。
使用 CLI
您可以查看k3kcli 文档以获取完整规格。