我们可以将 kubernetes 指向另一个集群吗

Can we point kubernetes to another cluster

我问过自己这个问题并花时间研究它。 运行没时间了。有人能指出我正确的方向吗? 我在 minikube 上创建了一个 kubernetes 集群,包括入口、服务和部署。那里有一整套服务配置。 现在,我可以将这个 kubectl 命令指向另一个提供商,如 VMWareFusion、AWS、Azure,不要忘记 Google Cloud。 我知道 kops。我的理解是,虽然这是kops的设计目标,但目前只支持AWS。

我想向您推荐一些我使用 kubernetes 的方式,从我的本地系统到生产,我的环境保持一致。

我使用 kubeadm 在我的本地机器上创建一个 kubernetes 集群。我维护我所有的 kubernetes 资源,如 服务、Pods、部署等 .. 在 yaml 中作为我的部署文件。

  • 我的所有服务和 pods 都保存在一个 yaml 文件中,例如counter.yaml
    kind: Deployment
    apiVersion: extensions/v1beta1
    metadata:
      name: deployment-counter
      namespace: default
      labels:
        module: log-counter
    spec:
      replicas: 1
      selector:
        matchLabels:
          module: log-counter
      template:
        metadata:
          labels:
            module: log-counter
        spec:
          containers:
          - name: container-counter
            image: busybox
            command:
            - "/bin/sh"
            - "-c"
            - 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done'
            imagePullPolicy: Always
          restartPolicy: Always
          terminationGracePeriodSeconds: 30
          tolerations:
            - key: ud_application
              operator: Equal
              value: docxtract
              effect: NoSchedule
            - key: ud_module
              operator: Exists
              effect: NoSchedule
      strategy:
        type: RollingUpdate

在由 kubeadm 配置的本地 kubernetes 集群上,我按如下方式部署它

kubectl apply -f counter.yaml

在生产环境中,我也有一个由 kubeadm 配置的 kubernetes 集群,我以相同的方式部署它。
kubectl apply -f counter.yaml

PS:

kubeadm是kubernetes提供的一个配置kubernetes集群的工具

是的,您可以通过 context 使用不同的集群。使用 kubectl config get-contexts 列出它们并使用 kubectl config use-context.

在它们之间切换