就像标题一样。我想克隆(创建现有集群的副本)。
如果无法复制/克隆Google Container Engine集群,那么如何克隆Kubernetes集群?
如果这是不可能的,有没有办法转储整个集群配置?
注意:
我尝试通过调用以下命令来修改集群的配置:
kubectl apply -f some-resource.yaml但是没有什么能阻止我/其他员工通过运行以下命令来修改集群:
kubectl edit service/resource或从命令行kubectl调用设置属性。
发布于 2017-01-13 17:30:53
我使用的是来自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
发布于 2020-02-17 19:53:05
现在,您可以创建/克隆现有集群,在Clusters页面上,单击create cluster并选择一个现有集群。但请记住,这不会克隆api资源-您可能必须使用第三方工具(如Velero )来帮助您备份资源。
下面是一些有用的链接
https://stackoverflow.com/questions/41609633
复制相似问题