如标题.我想克隆(创建现有集群的副本).
如果无法复制/克隆Google Container Engine集群,那么如何克隆Kubernetes集群?
如果那是不可能的,有没有办法转储整个群集配置?
我尝试通过调用来修改集群的配置:
kubectl apply -f some-resource.yaml
但是没有什么能阻止我/其他员工通过运行来修改集群:
kubectl edit service/resource
或者从命令行kubectl
调用设置属性.
我正在使用来自CoreOS团队的bash脚本,经过小幅调整,效果非常好.默认情况下,它不包括kube-system命名空间,但如果需要,您可以调整它.您还可以添加或删除要复制的资源.
for ns in $(kubectl get ns --no-headers | cut -d " " -f1); do if { [ "$ns" != "kube-system" ]; }; then kubectl --namespace="${ns}" get --export -o=json svc,rc,rs,deployments,cm,secrets,ds,statefulsets,ing | \ jq '.items[] | select(.type!="kubernetes.io/service-account-token") | del( .spec.clusterIP, .metadata.uid, .metadata.selfLink, .metadata.resourceVersion, .metadata.creationTimestamp, .metadata.generation, .status, .spec.template.spec.securityContext, .spec.template.spec.dnsPolicy, .spec.template.spec.terminationGracePeriodSeconds, .spec.template.spec.restartPolicy )' >> "./my-cluster.json" fi done
要在另一个群集上还原它,您必须执行 kubectl create -f ./my-cluster.json