k8s几种yaml文件详解


namespace定义

kind: Namespace
apiVersion: v1
metadata:
  # 不可以使用 下划线,
  name: k8s-tools-os
  labels:
    name: k8s-tools-os

service定义

# Service
kind: Service
apiVersion: v1
metadata:
  # 所属的命名空间
  namespace: k8s-tools-os
  # Service 名称
  name: tools-service-name
  # Service 标签
  labels:
    name: tools-service-label
# 容器的详细定义
spec:
  # 选择 Pod的label名
  selector:
    # Pod的label名
    app: tools-pod-label
  # 告诉 K8s Docker容器对外开放几个端口,如果指定为 NodePort 则这个service的端口可以被外界访问
  type: NodePort
  ports:
    - name: http
      protocol: TCP
      # port 是service的端口
      port: 880
      # targetPort 是pod的端口
      targetPort: 80
      # 可以被外网访问的端口
      nodePort: 30880


创建要部署的容器

# 种类:告诉 k8s 下面这些配置模板的含义(常用的包括:Namespace, Deployment, Service, Pod, ......)
kind: Deployment
# 版本号 规定格式 apps/* 必须这么写
apiVersion: apps/v1
# Pod
metadata:
  # Pod 的所属的命名空间
  namespace: k8s-tools-os
  # Pod 名称
  name: tools-pod-name

# 容器的详细定义
spec:
  # 告诉 K8s 启动几个节点
  replicas: 1
  # 滚动升级时,容器准备就绪时间最少为30s
  minReadySeconds: 30
  # 选择模板
  selector:
    # 根据模板的labels来选择
    matchLabels:
      # 选择下面模板中, Pod 的label名
      app: tools-pod-label
  # 定义 Pod模板
  template:
    metadata:
      # Pod模板的labels
      labels:
        # Pod的label名,如果和spec.selector
        app: tools-pod-label
    spec:
      # k8s将会给应用发送SIGTERM信号,可以用来正确、优雅地关闭应用,默认为30秒
      terminationGracePeriodSeconds: 3
      # 将这个pod部署到哪个节点机器上(默认不指定,k8s会自动分配); 因为 nodeName(节点的名称不可以重复,因此使用nodeName只能指定一台节点服务)
      # nodeName: k8s-node1
      # 将这个pod部署到哪个节点机器上(默认不指定,k8s会自动分配);因为 nodeLabels(节点的标签可以重复,因此使用nodeSelector是可以指定同一个标签的多个节点服务)
      nodeSelector:
        type: "test"

      # 配置 Docker容器
      containers:
          # 容器名
        - name: k8s-tools-os
          # 告诉 K8s 要部署的 Docker 镜像名:Tag
          image: tools-os:v1.0.0
          # 告诉 K8s 如果本地没有这个镜像,那么就新下载一个
          imagePullPolicy: IfNotPresent
          ## 告诉 K8s Docker容器对外开放几个端口
          ports:
            - containerPort: 80

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值