k8s-ocp-yaml
  • 简介
  • 微软云 Azure
    • 2022-10-18-Azure Portal创建k8s集群
    • 2022-10-30-Azure容器镜像仓库
    • 2023-03-08-基于Policy实现tag批量分配与继承
    • 2023-02-24-Terraform 安装与简单demo
    • 2023-03-10-Terraform 创建 private AKS
    • 2023-03-22-Terraform 离线环境使用
    • 2023-03-24-Terraform 踩坑记1-InternalOperationError
  • yaml文件书写注意项
    • 2018-05-29-yaml文件来源
    • 2018-05-29-多资源对象写法
  • kubernetes docs
    • 2020-04-24-kubectl-debug插件及openshift debug模式
    • 2020-04-23-k8s 利用subpathexpr处理日志落盘
    • 2020-04-14-metrics-server 轻量级监控
    • 2020-03-31-helm3 全新版本带来了什么
    • 2019-07-27-k8s openshift troubleshooting故障诊断
    • 2020-02-17-k8s CIS benchmark 安全基准测试
    • 2019-10-14-kubernetes 1.16 单机版在线安装
    • 2019-04-19-kubernetes 1.14 离线安装
    • 2018-11-20-kubernetes dashboard 免密登陆
    • 2018-04-07-kubernetes1.10 install offline
    • 2018-04-02-kubernetes1.9 install online
    • 2018-04-04-kubernetes1.9 HA install online
    • 2018-05-02-helm2 install
  • openshift docs
    • 2021-05-17-podman添加开机自启
    • 2020-06-23-openshift4.4 在线安装(包含allinone)静态ip
    • 2020-02-25-openshift 4.3 离线安装--DHCP方式
    • 2020-03-18-openshift4 operatorhub 离线部署
    • 2019-07-02-openshift origin 3.11 在线安装
    • 2019-09-24-openshift 对接AD域作为用户系统
    • 2019-11-13-openshift jenkins slave pod 自定义模板
  • 应用(deployment,rc,rs,volume,readiness,liveness)
    • 2018-05-31-deployment,rc,rs控制器
    • 2018-05-31-volume 容器存储
    • 2018-07-05-liveness readiness 健康检查
  • Openshift独有resource
    • 2019-08-08-template模板解读
  • docker相关文档
    • 2017-08-10-dockerfile 书写注意
    • 2017-08-10-dockerfile examples
    • 2017-07-19-dockerfile 命令
  • 容器云监控prometheus
    • 2019-10-22-安装部署与监控ingress-controller
    • 2020-05-30-组件功能介绍与监控数据来源
  • 中间件
    • 2020-03-30-kafka的安装与开启ACL权限控制
  • others
    • 2020-06-06-树莓派安装docker环境
  • Last part without title
Powered by GitBook
On this page
  • deployment 和 service 文件
  • 合并方式1
  • 合并方式2
  1. yaml文件书写注意项

2018-05-29-多资源对象写法

同一个 yaml 文件中包含多资源的写法,比如deployment, service ,pv 等

以deployment 和service 并存为例

deployment 和 service 文件

deployment 文件

kubectl run tomcat11 --image=registry.cn-hangzhou.aliyuncs.com/misa/tomcat:9.0 --replicas=2 --port=8080 --dry-run -o yaml > deploy.yaml

[root@master1 feng]# cat deploy.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    run: tomcat11
  name: tomcat11
spec:
  replicas: 2
  selector:
    matchLabels:
      run: tomcat11
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        run: tomcat11
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/misa/tomcat:9.0
        name: tomcat11
        ports:
        - containerPort: 8080
        resources: {}
status: {}

service 文件

kubectl expose deployment tomcat11 --port=8080 --type=NodePort --dry-run -o yaml > svc.yaml

[root@master1 feng]# cat svc.yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    run: tomcat11
  name: tomcat11
spec:
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    run: tomcat11
  type: NodePort
status:
  loadBalancer: {}

合并方式1

两个对象中间用 --- 隔开,不然会只能识别到一个

[root@master1 feng]# cat svc.yaml >> add.yaml
[root@master1 feng]# echo "---" >> add.yaml
[root@master1 feng]# cat deploy.yaml >> add.yaml

[root@master1 feng]# kubectl create -f add.yaml
service "tomcat11" created
deployment.extensions "tomcat11" created

合并方式2

用 kind: List 来定义集合,将其他对象,deployment, service,pvc 等作为子项。

注意 deployment service 等子项每行前面再加2给空格。

[root@master1 feng]# cat deploy.yaml >> add2.yaml
[root@master1 feng]# cat svc.yaml >> add2.yaml

# 每行前面插入2个空格
[root@master1 feng]# sed -i 's/^/  /g' add2.yaml

vim add2.yaml

增加前三行内容
子项的 apiVersion 行首的第一个空格换成 -

[root@master1 feng]# kubectl create -f add2.yaml
deployment.extensions "tomcat11" created
service "tomcat11" created


[root@master1 feng]# cat add2.yaml
apiVersion: v1
kind: List
items:
- apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    creationTimestamp: null
    labels:
      run: tomcat11
    name: tomcat11
  spec:
    replicas: 2
    selector:
      matchLabels:
        run: tomcat11
    strategy: {}
    template:
      metadata:
        creationTimestamp: null
        labels:
          run: tomcat11
      spec:
        containers:
        - image: registry.cn-hangzhou.aliyuncs.com/misa/tomcat:9.0
          name: tomcat11
          ports:
          - containerPort: 8080
          resources: {}
  status: {}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: null
    labels:
      run: tomcat11
    name: tomcat11
  spec:
    ports:
    - port: 8080
      protocol: TCP
      targetPort: 8080
    selector:
      run: tomcat11
    type: NodePort
  status:
    loadBalancer: {}
Previous2018-05-29-yaml文件来源Nextkubernetes docs

Last updated 6 years ago