• Service

  • ingress

配置与存储相关的资源

  • 存储卷Volume

  • 云端存储

  • 亚马逊弹性块存储

  • SAN

  • GlusterFS(分布式存储)

  • NFS

  • 容器存储接口CSI

  • ConfgMap(配置中心)

  • Secret(保存敏感信息)

  • DovwnwardAPI(将外部环境的信息输出给容器)

集群级资源

  • Nampspace

  • Node

  • Role

  • ClusterRole

  • RoleBinding

  • ClusterRoleBinding

元数据型资源

  • HPA

  • PodTemplate(用于让控制器创建Pod时使用的模板)

  • LlmitRange

创建资源的方式


使用命令进行创建

使用命令式资源清单创建

apiserver仅接收json格式的资源定义

使用yaml格式提供配置清单,apiserver可自动将其转为json格式并执行

使用声明式资源清单创建

可以确保资源尽可能向声明的状态靠近,并且可以随时改变声明、随时应用新的声明

资源配置清单的组成


| apiVersion | API版本 |

| — | — |

| kind | 资源类型 |

| metadata | 资源元数据 |

| spec | 资源规格 |

| replicas | 副本数量 |

| selector | 标签选择器 |

| template | Pod模板 |

| metadata | Pod元数据 |

| spec | Pod规格 |

| containers | 容器配置 |

apiVersion

kubectl api-versions

alpha(内测版)

beta(公测版)

stable(稳定版)

kind

metadata

name(同一类别下惟一)

namespace

labels

annotations

每个资源的引用PATH(/api/GROUP/VERSION/namespaces/NAMESPACE/TYPE/NAME)

spec(期望的状态)

status

当前的状态,本字段由kubenetes集群维护,用户无法定义和更改

kubectl explain pods

执行kubectl explain pods可以查看pod资源的配置清单应有哪些参数、如何定义等等

kubectl explain pods.metadata

执行kubectl explain pods.metadata可以查看pods的metadata参数如何配置

定义一个基于YAML格式的配置


在这里插入图片描述

[root@master manifest]# cat deploy.yaml


apiVersion: v1

kind: Namespace

metadata:

name: jjyy


apiVersion: apps/v1 #api版本

kind: Deployment #资源类型

metadata: #元数据定义

name: web #名称

namespace: jjyy #名称空间

spec: #deployment定义

replicas: 3 #定义2个副本

selector: #标签选择器,匹配pod的标签

matchLabels:

app: httpd-web

template: #pod模板定义

metadata:

labels: #这里的标签必须和标签选择器的一致

app: httpd-web

spec: #pod内的容器定义

containers:

  • name: web

image: 1314444/httpd:v0.2


apiVersion: v1

kind: Service

metadata:

name: web

namespace: jjyy

spec:

ports:

  • port: 8080

protocol: TCP

targetPort: 80 #容器端口

selector:

app: httpd-web

type: NodePort

[root@master ~]# kubectl apply -f manifest/deploy.yaml

namespace/jjyy created

deployment.apps/web created

service/web created

[root@master ~]# kubectl get ns

NAME STATUS AGE

default Active 3d6h

jjyy Active 16s

kube-node-lease Active 3d6h

kube-public Active 3d6h

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
…(img-Bzom3f79-1715790928688)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐