我们能否将kubernetes指向另一个集群

时间:2018-09-07 09:45:05

标签: kubernetes cloud kubectl

我已经问过自己这个问题,并花了一些时间研究它。时间不多了。有人可以指出我正确的方向吗? 我已经在minikube上创建了kubernetes集群,其中包括其Ingress,Services和Deployments。那里有服务的整体配置。 现在,我可以将这个kubectl命令指向另一个提供商,例如VMWareFusion,AWS和Azure,不要忘记Google Cloud。 我知道kops。我的理解是,尽管这是kops的设计目标,但目前仅支持AWS。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

我使用kubeadm在本地计算机上创建kubernetes集群。我将所有kubernetes资源(例如服务,Pod,部署等 ..)作为部署文件保存在Yaml中。

  • 我所有的服务和广告连播都保存在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集群的工具。