Я хотел бы предложить вам несколько вещей, как я работал с kubernetes: от моей локальной системы до производства моя среда остается последовательной.
Я использую kubeadm для создания кластера kubernetes на моей локальной машине. И я храню все мои ресурсы kubernetes, такие как Services, Pods, Deployment и т. Д. .., в виде 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
На моем локальном кластере kubernetes, предоставленном kubeadm, я развернул его следующим образом
kubectl apply -f counter.yaml
И на Производстве у меня также есть кластер kubernetes, предоставляемый kubeadm, и я развертываю его таким же образом.
kubectl apply -f counter.yaml
PS:
kubeadm - это инструмент, предоставляемый kubernetes для предоставления кластера kubernetes.