我问自己这个问题,并投入时间研究它。时间不多了。有人能指出我正确的方向吗?我在minikube上创建了一个kubernetes集群,包括Ingress,Services和Deployments。那里有一整套服务。现在,我可以将此kubectl命令指向另一个提供程序,如VMWareFusion,AWS,Azure,不要忘记Google Cloud。我知道kops。我的理解是,尽管这是kops的设计目标,但目前它只支持AWS。
是的,你可以通过context使用不同的集群。使用kubectl config get-contexts
列出它们并使用kubectl config use-context
在它们之间切换。
我想建议你使用kubernetes的方式,从我的本地系统到生产,我的环境保持一致。
我使用kubeadm在我的本地机器上创建kubernetes集群。我将所有我的kubernetes资源(如服务,Pod,部署等)作为我的部署文件保存在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
kubeadm是kubernetes提供的用于委托kubernetes集群的工具。