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
  • yaml 文件来源
  • 本文档
  • kubernetes 官网
  • openshift 官网
  • kubectl 命令
  • 通过已有资源导出
  • yaml 书写注意项
  • 缩进
  • 多port 多volume
  • 标签 label
  • 带namespace
  1. yaml文件书写注意项

2018-05-29-yaml文件来源

Previousyaml文件书写注意项Next2018-05-29-多资源对象写法

Last updated 7 years ago

为什么采用yaml,视觉上更直观,但是必须处理好缩进/对齐。

通过 yaml 文件创建应用等资源,最好基于已有的文件修改,不要自己手动书写,容易出错。下面介绍 yaml 文件的常用查询途径及导入导出方法。

yaml 文件来源

本文档

哈,文中写出的基本都是经过验证的。

需要科学上网,善用搜索,基本没有

openshift 是红帽redhat基于kubernetes的二次开发版本,在部署方案及使用上更便捷。 且增加了一些比较方便的资源格式,比如route dc template imagestream 等

kubectl 命令

通过命令,只输出 deployment 文件,不创建

[root@master1 ~]# kubectl run tomcat11 --image=tomcat:8.5 --replicas=2 --port=8080 --dry-run -o yaml

tomcat11 为deployment 名称
--image 指定应用镜像
--replicas pod数量,即应用实例数
--port 应用port
--dry-run 测试命令能够正常执行,不会创建对象
-o yaml 把资源输出成yaml格式

注意: 如果是openshift 环境, oc run 命令生成的是deploymentconfig,即dc。 如果 deployment 可以用 kubectl 命令

通过已有资源导出

kubernetes

root@instance-1:~# kubectl get deployment tomtest -o yaml

把无用的一些状态信息删掉

openshift

openshift 带有一个 export 命令可以导出资源

[root@master ~]# oc export svc np-31006 -o yaml

但是比如svc,导出会把 nodeport 的信息给丢了。。。 - -!

yaml 书写注意项

下面是本人使用中的一些心得

缩进

缩进很重要,重要,重要!

这也是本人重新梳理文档的原因,之前在记录时候使用了word,但是后续使用的时候发现缩进失效了,所有内容前面的空格没了,文件废了。

多port 多volume

ports,volumeMounts,volumes、env、securityContext等,有多个子项的时候。以上参数只能出现一次。 比如

 错误示例:
          volumeMounts:
          - mountPath: /home/netbank/share
            name: share
          volumeMounts:  此行多余,将会导致上面的Volumemounts参数不生效
          - mountPath: /home/netbank/facenas
            name: facenas

如上,写了两个 volumeMounts: 上面那个会失效,而且创建的时候不会报错。

可以参考 应用 volume 的写法。

标签 label

同一应用的资源,pv,pvc,rc,svc最好带上相同的label,便于查找和删除。

带namespace

这一条没那么重要,但是在比较正式的环境,一些非全局的资源,比如rc,svc,pvc。最好在文件定义好namespace。防止在执行命令kubectl/oc create -f 的时候所在的project不对,导致一些异常。

kubernetes 官网
openshift 官网