Kubernetes --(k8s)yml 文件
认识yml文件
yaml文件语法
- 大小写敏感
 - 使用缩进表示层级关系
 - 缩进时不允许使用Tab键,只允许使用空格。
 - 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
 - # 表示注释,从这个字符一直到行尾,都会被解析器忽略。
 
apiVersion: extensions/v1beta1      # 当前配置格式的版本
kind: Deployment      # 要创建的资源的类型
metadata:       # 资源的元素据
   name: nginx1
spec:     # 资源的说明书
   replicas: 2      # 副本数量
   template:       # 定义pod模板
      metadata:    # pod 元数据
         labels:    # 标签
           name: web
      spec:     #  pod 说明
         containers:   #定义每个容器的属性 name和image 是必选项
         - name: nginx      # " - " 不要忘记因为containers节元素为列表格式
           image: nginx
查找资源时用到的命令
╭─root@node1 ~
╰─➤  kubectl explain deploy
KIND:     Deployment
VERSION:  extensions/v1beta1
...
# kubectl api-resources
# kubectl explain deploy.metadata
# kubectl explain deploy.spec
# kubectl explain deploy.spec.template
# kubectl explain deploy.spec.template.spec
# kubectl explain deploy.spec.template.metadata
使用yml文件部署
第一步:编写yml文件
╭─root@node1 ~
╰─➤  vim nginx.yml
...
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
   name: nginx1
spec:
   replicas: 2
   template:
      metadata:
         labels:
           name: web
      spec:
         containers:
         - name: nginx
           image: nginx
...
第二步:依靠yml文件运行/删除
╭─root@node1 ~
╰─➤  kubectl apply -f nginx.yml
deployment.extensions/nginx1 created
#  kubectl delete -f nginx.yml    #  删除
第三步:查看pods
╭─root@node1 ~
╰─➤  kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx1-99f7df68c-7v5pb   1/1     Running   0          77s
nginx1-99f7df68c-lcvrk   1/1     Running   0          77s
k8s command & args
命令和参数说明:
command、args两项实现覆盖Dockerfile中ENTRYPOINT的功能,具体的command命令代替ENTRYPOINT的命令行,args代表集体的参数。
- 如果command和args均没有写,那么用Dockerfile的配置。
 - 如果command写了,但args没有写,那么Dockerfile默认的配置会被忽略,执行输入的command(不带任何参数,当然command中可自带参数)。
 - 如果command没写,但args写了,那么Dockerfile中配置的ENTRYPOINT的命令行会被执行,并且将args中填写的参数追加到ENTRYPOINT中。
 - 如果command和args都写了,那么Dockerfile的配置被忽略,执行command并追加上args参数。比如:
 - 另:多命令执行使用sh,-c,[command;command,...]的形式,单条命令的参数填写在具体的command里面
 
摘自:https://www.cnblogs.com/qiang-cnblog/p/7641423.html
k8s 查看pod的详细yaml文件
╭─root@node1 ~
╰─➤  kubectl get po
NAME         READY   STATUS              RESTARTS   AGE
pod-secret   0/1     ContainerCreating   0          9m35s
╭─root@node1 ~
╰─➤  kubectl get pod  pod-secret -o yaml
apiVersion: v1
kind: Pod
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{},"name":"pod-secret","namespace":"default"},"spec":{"containers":[{"command":["/bin/sh","-c","touch test;sleep 60000"],"image":"busybox","imagePullPolicy":"IfNotPresent","name":"busybox","volumeMounts":[{"mountPath":"/tmp","name":"du"}]}],"volumes":[{"name":"du","secret":{"secretName":"mysecret"}}]}}
  creationTimestamp: "2019-08-31T01:20:35Z"
  name: pod-secret
  namespace: default
  resourceVersion: "267900"
  selfLink: /api/v1/namespaces/default/pods/pod-secret
  uid: a222ab7e-cafc-46b3-8a82-8ab1b4fc0599
spec:
  containers:
  - command:
    - /bin/sh
    - -c
    - touch test;sleep 60000
    image: busybox
    imagePullPolicy: IfNotPresent
    name: busybox
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /tmp
      name: du
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: default-token-ngn4n
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  nodeName: node2
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - name: du
    secret:
      defaultMode: 420
      secretName: mysecret
  - name: default-token-ngn4n
    secret:
      defaultMode: 420
      secretName: default-token-ngn4n
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2019-08-31T01:26:25Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2019-08-31T01:26:25Z"
    message: 'containers with unready status: [busybox]'
    reason: ContainersNotReady
    status: "False"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2019-08-31T01:26:25Z"
    message: 'containers with unready status: [busybox]'
    reason: ContainersNotReady
    status: "False"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2019-08-31T01:26:24Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - image: busybox
    imageID: ""
    lastState: {}
    name: busybox
    ready: false
    restartCount: 0
    state:
      waiting:
        reason: ContainerCreating
  hostIP: 192.168.137.4
  phase: Pending
  qosClass: BestEffort
  startTime: "2019-08-31T01:26:25Z"

Kubernetes --(k8s)yml 文件的更多相关文章
- ubuntu16.04 docker kubernetes(k8s) istio 安装
		
版本: docker: 19.03.5 kubernetes: 1.17.0 istio: 1.4.3 步骤一:给ubuntu换源 https://www.cnblogs.com/lfri/p/106 ...
 - Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)
		
背景: 由于工作发生了一些变动,很长时间没有写博客了. 概述: 这篇文章是为了介绍使用kubeadm安装Kubernetes集群(可以用于生产级别).使用了Centos 7系统. 一.Centos7 ...
 - Centos7安装Kubernetes k8s v1.16.0 国内环境
		
一. 为什么是k8s v1.16.0? 最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等.centos ...
 - 【葵花宝典】lvs+keepalived部署kubernetes(k8s)高可用集群
		
一.部署环境 1.1 主机列表 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 lvs-keepal ...
 - 5.基于二进制部署kubernetes(k8s)集群
		
1 kubernetes组件 1.1 Kubernetes 集群图 官网集群架构图 1.2 组件及功能 1.2.1 控制组件(Control Plane Components) 控制组件对集群做出全局 ...
 - 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像
		
❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...
 - 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2
		
基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Mas ...
 - Docker Kubernetes(K8s)简介
		
入职了新公司,使用了Docker和K8s,需要有一个基础的了解,对网络上相关信息进行了简单总结. 一Docker 1简介: Docker 将应用程序与该程序的依赖,打包在一个文件里面.运行这个文件,就 ...
 - Kubernetes(k8s) docker集群搭建
		
原文地址:https://blog.csdn.net/real_myth/article/details/78719244 一.Kubernetes系列之介绍篇 •Kubernetes介绍 1.背 ...
 
随机推荐
- SQL Server中模式(schema)、数据库(database)、表(table)、用户(user)之间的关系
			
数据库的初学者往往会对关系型数据库模式(schema).数据库(database).表(table).用户(user)之间感到迷惘,总感觉他们的关系千丝万缕,但又不知道他们的联系和区别在哪里,对一些问 ...
 - python第一节:变量及数据类型
			
一.变量 1.什么是变量 变:即为变化的事物 量:即为事物当前的状态 2.为什么用变量 变量可以方便的记录事物当前状态,在后面随时可以调出使用 3.怎么用变量 变量使用前需要先进行赋值(记录状态) 赋 ...
 - jdbc事务、连接池概念、c3p0、Driud、JDBC Template、DBUtils
			
JDBC 事务控制 什么是事务:一个包含多个步骤或者业务操作.如果这个业务或者多个步骤被事务管理,则这多个步骤要么同时成功,要么回滚(多个步骤同时执行失败),这多个步骤是一个整体,不可分割的. 操作: ...
 - linux IP 注释
			
DEVICE=name,这里name是物理设备的名字(动态分配的PPP设备应当除外,它的名字是"逻辑名". IPADDR=addr, 这里addr是IP地址. NETMASK=ma ...
 - spring boot 邮件服务
			
引入依赖 添加spring-boot-starter-mail包引用 <dependency> <groupId>org.springframework.boot</gr ...
 - VRay for SketchUp渲染图黑原因及解决方案
			
很多人都遇到用Vray for SketchUp云渲染的时候,渲染出来的图片是全黑或者是局部是黑色, 这是什么原因呢? 1.有一种情况是,SketchUp的文件储存机制和其他的软件有些不同,它是把模型 ...
 - leetcode1637-两点之间不包括任何点的最宽垂直面积
			
题目 给你 n 个二维平面上的点 points ,其中 points[i] = [xi, yi] ,请你返回两点之间内部不包含任何点的 最宽垂直面积 的宽度. 垂直面积 的定义是固定宽度,而 y 轴上 ...
 - Java开发手册之工程结构
			
1.在线上生产环境,JVM 的 Xms 和 Xmx 设置一样大小的内存容量,避免在 GC 后调整堆大小带来的压力. 2.给 JVM 环境参数设置-XX:+HeapDumpOnOutOfMemoryEr ...
 - 安装Tomcat 9
			
文章目录 访问Tomcat官网 选择下载所需的软件包 安装Tomcat 测试安装 访问Tomcat官网 Tomcat官方的下载地址为:https://tomcat.apache.org/downloa ...
 - .NET 云原生架构师训练营(模块二 基础巩固 Scrum 团队)--学习笔记
			
2.7.3 Scrum 团队 理想的环境 团队章程 如何组建 Scrum 团队 产品待办事项列表 用户故事 敏捷开发流程 理想的环境 5-9人 100% 跨职能 在一起 自组织 自组织 目标 授权 沟 ...