04.资源清单


资源

kubernetes系统的 api server基于http/https接收并响应客户端的操作请求,它提供了一种基于资源的RESTful风格的编程结构,将集群的各种组件都抽象成为标准的REST资源,如Node、Namespace和Pod等,并支持通过标准的HTTP方法以JSON为数据序列化方案进行资源管理操作。

kubernetes系统将一切事物都抽象为API资源。资源实例化之后,叫做对象。

image-20240905143940347

资源类别

  • 名称空间级别

    • 工作负载型资源:Pod、ReplicaSet、Deployment…
    • 服务发现及负载均衡型资源:Service、Ingress…
    • 配置与存储型资源:Volume、CSI…
    • 特殊类型的存储卷:ConfigMap、Secre…
  • 集群级资源(与集群相关的资源)

    • Namespace、Node、ClusterRole、ClusterRoleBinding
  • 元数据型资源(为集群内部的其他资源配置其行为或特性)

    • HPA、PodTemplate、LimitRange

资源清单编写

apiVersion: v1
kind: Pod
metadata:
  name: pod-demo
  namespace: default
  labels:
    app: myapp
spec:
  containers:
    - name: myapp-1
      image: nginx
      resources:
        limits:
          memory: "128Mi"
          cpu: "500m"
    - name: myapp-2
      image: centos
      resources:
        limits:
          memory: "128Mi"
          cpu: "500m"
      command:
        - "/bin/sh"
        - "-c"
        - "sleep 300"
status:
  conditions:
    - lastProbeTime: "2024-09-04T07:50:54Z"
      lastTransitionTime: "2024-09-04T07:50:54Z"
      status: "True"
      type: Initialized

每个组成部分如下

image-20240905150823599

查询对象属性

$ kubectl explain pod.spec.containers
KIND:       Pod
VERSION:    v1

FIELD: containers <[]Container>

DESCRIPTION:
    List of containers belonging to the pod. Containers cannot currently be
    added or removed. There must be at least one container in a Pod. Cannot be
    updated.
    A single application container that you want to run within a pod.
...

kubectl的部分命令

# 获取当前的资源,pod
$ kubectl get pod 
	-A,--all-namespaces 查看当前所有名称空间的资源
	-n  指定名称空间,默认值 default,kube-system 空间存放是当前组件资源
	--show-labels  查看当前的标签
	-l  筛选资源,key、key=value
	-o wide  详细信息包括 IP、	分配的节点
	-w  监视,打印当前的资源对象的变化部分
	
# 进入 Pod 内部的容器执行命令
$ kubectl exec -it podName -c cName -- command
	-c  可以省略,默认进入唯一的容器内部
	
# 查看资源的描述
$ kubectl explain pod.spec

# 查看 pod 内部容器的 日志
$ kubectl logs podName -c cName

# 查看资源对象的详细描述
$ kubectl describe pod podName

# 删除资源对象
$ kubectl delete kindName objName
	--all 删除当前所有的资源对象

文章作者: AaronXu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 AaronXu !
评论
 上一篇
05.Pod生命周期 05.Pod生命周期
Pod生命周期 init容器与普通的容器非常像,除了如下两点: init容器总是运行到成功完成为止 每个init容器都必须在下一个init容器启动之前成功完成 如果Pod的Init容器失败,Kubernetes会不断地重启该Pod,直到
2024-09-17
下一篇 
03.安装手册 03.安装手册
环境准备 角色 主机名 ip地址 配置 master master01 192.168.173.100 2C4G60G node01 node01 192.168.173.101 2C2G60G node02 node
2024-09-17
  目录