4、kubernetes资源清单快速入门190625

一、资源清单概念

  • 资源/对象的类型

    • 工作负载型资源:Pod, ReplicaSet, Deployment, StatefulSet, DaemonSet, Job, Cronjob, ...
    • 服务发现及均衡性资源:Service, Ingress, ...
    • 配置与存储型资源:Volume, CSI, ConfigMap, DownwardAPI
    • 集群级资源:Namespace, Node, Role, ClusterRole, RoleBinding, ClusterRoleBinding
    • 元数据型资源:HPA, PodTemplate, LimitRange

二、配置清单入门

1、配置清单简介

  • 输出配置清单
~]# kubectl get pod nginx-deploy-bc9ff65dd-m8k46 -o yaml
apiVersion: v1  #对象属于哪个组,此对象属于核心组,core/v1
kind: Pod  #具体资源对象
metadata:  #元数据
  creationTimestamp: "2019-06-24T13:33:09Z"
  generateName: nginx-deploy-bc9ff65dd-
  labels:
    pod-template-hash: bc9ff65dd
    run: nginx-deploy
  name: nginx-deploy-bc9ff65dd-m8k46
  namespace: default
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicaSet
    name: nginx-deploy-bc9ff65dd
    uid: 0e2bf48a-822f-4a05-8779-fa97998f0eb3
  resourceVersion: "86123"
  selfLink: /api/v1/namespaces/default/pods/nginx-deploy-bc9ff65dd-m8k46
  uid: 817f0411-67c6-43db-aef0-54ac0465bc94
spec:  #规格,定义资源对象的特性或规范,也叫期望状态
  containers:
  - image: nginx:1.14
    imagePullPolicy: IfNotPresent
    name: nginx-deploy
    ports:
    - containerPort: 80
      protocol: TCP
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: default-token-4q4c9
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  nodeName: node01
  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: default-token-4q4c9
    secret:
      defaultMode: 420
      secretName: default-token-4q4c9
status:  #显示资源当前状态,当前状态无限向期望状态靠近
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2019-06-24T13:33:09Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2019-06-24T13:40:27Z"
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2019-06-24T13:40:27Z"
    status: "True"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2019-06-24T13:33:09Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: docker://fa614bd334c9985121436b1ef3bf3c2cab6ca77e8e2a8171ad37172872f6147b
    image: nginx:1.14
    imageID: docker-pullable://[email protected]:f7988fb6c02e0ce69257d9bd9cf37ae20a60f1df7563c3a2a6abe24160306b8d
    lastState: {}
    name: nginx-deploy
    ready: true
    restartCount: 0
    state:
      running:
        startedAt: "2019-06-24T13:40:26Z"
  hostIP: 192.168.100.61
  phase: Running
  podIP: 10.244.1.2
  qosClass: BestEffort
  startTime: "2019-06-24T13:33:09Z"
  • 创建资源的方法

    • apiserver仅接受json格式的资源定义
    • yaml格式提供配置清单,apiserver可自动将其转为json格式再提交
  • 资源引用方式
/api/GROUP/VERSION/namespaces/NAMESPACE/TYPE/NAME
  • 资源定义帮助获取
~]# kubectl explain pods

2、配置清单的常用字段定义

  • apiVersion:group/version
~]# kubectl api-versions  #显示所有支持的api版本
  • kind:资源类别,Pod, Service, ...
  • metadata:元数据
name:资源名称
namespace:kubernetes级别的名称空间
labels:标签
annotaions:注解
  • spec:期望状态,disired state
  • status:当前状态,current state,此字段有kubernetes集群自动维护,无需定义

三、Pod资源配置清单定义

  1. 创建一个自主式Pod
apiVersion: v1
kind: Pod
metadata:
  name: pod-demo
  namespace: default
  labels:
    app: myapp
    tier: frontend  #层次:前端
spec:
  containers:
  - name: myapp
    image: dongfeimg/myapp:v1
  1. 根据配置清单启动/删除pod
# kubectl create -f pod-demo.yaml
# kubectl describe pods pod-demo  #查看详细信息
# kubectl delete -f pod-demo.yaml

原文地址:https://www.cnblogs.com/L-dongf/p/11087359.html

时间: 2024-10-03 20:41:59

4、kubernetes资源清单快速入门190625的相关文章

kubernetes资源清单定义

kubernetes资源清单定义 工作负载型资源(workload): Pod ReplicaSet Deployment StatefulSet DaemonSet Job CronJob (ReplicationController在v1.11版本被废弃) 服务发现及负载均衡型资源: ServiceDiscovery LoadBalance Service Ingress, ... 配置与存储型资源: Volume(存储卷) CSI(容器存储接口,可以扩展各种各样的第三方存储卷) 特殊类型的

k8s资源清单定义入门

1.资源分类 a.workload型资源:service.pod.deployment.ReplicaSet.StatefulSet.Job.Cronjob; b.服务发现及服务均衡资源型资源:Service.Ingress; c.配置与存储型资源:Volume.ConfigMap.Secret.DownwardAPI.CSI(容器存储接口,可以扩展各种第三方的存储卷) d.集群级资源:Namespace.Node.Role.rolebinding.clusterrolebinding; e.元

Kubernetes零基础快速入门!初学者必看!

起源 Kubernetes 源自于 google 内部的服务编排系统 - borg,诞生于2014年.它汲取了google 十五年生产环境的经验积累,并融合了社区优秀的idea和实践经验. 名字 Kubernetes 这个名字,起源于古希腊,是舵手的意思,所以它的 logo 即像一张渔网又像一个罗盘,谷歌选择这个名字还有一个深意:既然docker把自己比作一只鲸鱼,驮着集装箱,在大海上遨游,google 就要用Kubernetes去掌握大航海时代的话语权,去捕获和指引着这条鲸鱼按照主人设定的路线

(转)Kubernetes Operator 快速入门教程

https://www.qikqiak.com/post/k8s-operator-101/ 在 Kubernetes 的监控方案中我们经常会使用到一个Promethues Operator的项目,该项目可以让我们更加方便的去使用 Prometheus,而不需要直接去使用最原始的一些资源对象,比如 Pod.Deployment,随着 Prometheus Operator 项目的成功,CoreOS 公司开源了一个比较厉害的工具:Operator Framework,该工具可以让开发人员更加容易的

Kubernetes/4.Kubernetes快速入门

Kubernetes快速入门 通过本章节的学习,你可以充分了解到一个https的kubernetes集群中所需的证书及其作用,以及kubernetes语境内的api资源类型,最后我还补充了几个基础的GET命令,此时你可以登录到上一章节我们使用kubeadm创建的集群,进行一些查询操作了. 证书管理 API资源模型 API资源类型 命令补充 备注 证书管理 k8s于生产环境运行时,我强烈建议大家运行在https的安全环境下,其证书可分为以下三大类: root CA: apiserver:apise

kubernetes系列教程(三)kubernetes快速入门

写在前面 kubernetes中涉及很多概念,包含云生态社区中各类技术,学习成本比较高,k8s中通常以编写yaml文件完成资源的部署,对于较多入门的人来说是个较高的门坎,本文以命令行的形式代理大家快速入门,俯瞰kubernetes核心概念,快速入门. 1. 基础概念 1.1 集群与节点 kubernetes是一个开源的容器引擎管理平台,实现容器化应用的自动化部署,任务调度,弹性伸缩,负载均衡等功能,cluster是由master和node两种角色组成,其中master负责管理集群,master节

Kubernetes之资源清单定义

目录 Kubernetes之资源清单定义 常用资源 利用配置清单定义自主式Pod资源 Kubernetes之资源清单定义 常用资源 工作负载型 Pod,ReplicaSet,StatefulSet,DaemonSet,Job,Cronjob 服务发现及均衡 Sevice,Ingress,... 配置与存储 Volume,CSI,ConfigMap,Secret,DownwardAPI 集群级资源 Namespace,Node,Role,ClusterRole,RoleBinding,Cluste

Kubernetes/5.Pod资源清单配置基础

Pod资源清单配置基础 Docker中我们都说容器.docker,大家耳熟能详.但到了kubernetes中,这个专有名词仿佛就被"取而代之"了.kubernetes的语境中,我们将一个容器集合称之为Pod What is Pod? Pod的特征 Pod对象的配置格式 Pod对象的申明类型 命令补充 三种网络代理方式 参考文档 备注 1.What is Pod? 那什么是Pod?如图所示,Pod中有一个pause容器,和一堆业务容器,他们有各自的PID.MOUNT和USER,但他们共享

Hello, Android 快速入门

Hello, Android Android 开发与 Xamarin 简介 在这两节指南中,我们将 (使用 Xamarin Studio或 Visual Studio)建立我们的第一个 Xamarin.Android 应用程序 并理解使用Xamarin 开发Android 应用程序的基本原理的.在这个系列,我们将介绍有关工具的使用. Android开发相关的概念.构建和部署 Xamarin.Android 的应用程序所需的步骤. Hello, Android 快速入门 在本演练中,我们要创建一个