kubernetes:pods 创建自动化

kubernetes: pods creation automation

在学习 kubernetes 时,经常会出现 kubectl、主节点、api 服务器等术语。 Kubectl 是与 k8s 集群交互的客户端,用于执行创建 pods、管理它们等操作。例如,在本地我使用它来处理 minikube。

但 kubectl 更像是 运行 命令的手动交互。在生产环境中,pods 应该在需要时自动生成。那么这是怎么发生的呢?还是我对 kubectl 的理解有误?

对于 Production 也可以使用 KubectlHelm 或 kustomize 来应用YAML

理想情况下,在生产环境中,您应该在最后应用 YAML 来部署应用程序。

您可以选择helm 或kustomize 来创建或生成YAML 作为特定的应用程序。 YAML 准备就绪后,您可以使用 kubectl.

应用 YAML
kubectl apply -f file-name.yaml

或者您可以使用 helm chart 来部署应用程序的发布。

helm install <chart-name>

头盔阅读更多:https://helm.sh/docs/topics/charts/

Kustomize 是 K8s 本机配置管理阅读更多:https://kustomize.io/

最终,您将为应用程序创建如下所示的 YAML,并使用 Kubectl 进行应用,dev、stag 或 prod 都无关紧要

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

在没有 YAML 的情况下使用 kubectl cli 进行部署也可以,但灵活性不高。

虽然通过查看 YAML,您可以了解部署的内容和配置。