linux怎么查看本机内存大小
288
2022-10-09
解读kubernetes集群常用资源yaml文件
1、POD资源类型案例
vi nginx-pod.yamlapiVersion: v1 # 指定api版本,此值必须在kubectl apiversion中 kind: Pod # 指定创建资源的角色/类型 metadata: # 资源的元数据/属性 name: nginx-pod # 资源的名称,在同一个namespace中必须唯一 namespace: learn # 部署在哪个namespace中 labels: # 设定资源的标签 env: nginx-testspec: # 指定该资源的内容 restartPolicy: Always # 表明该容器一直运行,默认k8s的策略,在此容器退出后,会立即创建一个相同的容器 replicas: 1 containers: - env: # 指定容器中的环境变量 - name: mysql_username # 变量的名称 value: learn # 变量的值 - name: mysql_passwd # 变量的名称 value: learn1234# # 变量的值 name: nginx-pod # 容器的名称 image: nginx:1.19.6 # 容器使用的镜像地址 imagePullPolicy: Always # 三个选择Always、Never、IfNotPresent,每次启动时检查和更新(从registery)images的策略 # Always,每次都检查,如果本地有镜像,总是从指定的仓库中获取镜像 # Never,每次都不检查(不管本地是否有),禁止从仓库中下载镜像,也就是说只能使用本地镜像; # IfNotPresent,如果本地有就不检查,如果没有就拉取目标仓库中镜像; # 默认的镜像下载策略是:当镜像标签是latest时,默认策略是Always;当镜像标签是自定义时(也就是标签不是latest),那么默认策略是IfNotPresent resources: # 资源管理 requests: # 容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行 cpu: 0.1 # CPU资源(核数),两种方式,浮点数或者是整数+m,0.1=100m,最少值为0.001核(1m) memory: 32Mi # 内存使用量 limits: # 资源限制 cpu: 0.5 # CPU资源 memory: 300Mi # 内存使用量 ports: - containerPort: 80 # 容器开发对外的端口 name: # 名称 protocol: TCP # 协议 nodeSelector: # 节点选择,先给主机打标签kubectl label nodes 192.168.1.13 onling=node1 onling=node1
2、资源控制器(副本控制器)
3、Service资源类型案例
vi nginx-demo-service.yamlapiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中 kind: Service # 指定创建资源的角色/类型 metadata: # 资源的元数据/属性 name: nginx-demo # 资源的名称,在同一个namespace中必须唯一 namespace: learn # 部署在哪个namespace中 labels: # 设定资源的标签 app: nginx-demospec: # 指定该资源的内容 type: NodePort # ClusterIP、NodePort、LoadBalancer、ExternalName类型 ports: - port: 8089 # service 端口 targetPort: 80 # 容器暴露的端口 protocol: TCP # 协议 name: # 端口名称 selector: # 选择器 app: nginx-demo
4、EndPoint资源类型案例
vi nginx-demo-ep.yamlapiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中 kind: EndPoints # 指定创建资源的角色/类型 labels: # 设定资源的标签 name: nginx-demo version: 1.0.0name: nginx-demo # 资源的名称,在同一个namespace中必须唯一namespace: learn # 部署到namespace中
5、ConfigMap资源类型案例
vi go-dingding-cm.yamlapiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中 data: app.conf: | # beego config appname = go-dingding = 8091 runmode = prod copyrequestbody = true EnableDocs = true sessionon = true # debug | info | warn | error | fatal | panic log_level = debug DingtalkURL=" # 钉钉机器人地址,根据实际需要更改kind: ConfigMap # 指定创建资源的角色/类型 metadata: # 资源的元数据/属性 name: go-dingding-cm # 资源的名称,在同一个namespace中必须唯一 namespace: learn # 部署到namespace中
6、PersistentVolume资源类型案例
vi nas-learn-pv.yaml apiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中 kind: PersistentVolume # 指定创建资源的角色/类型metadata: # 资源的元数据/属性 finalizers: - kubernetes.io/pv-protection labels: # 设定资源的标签 name: nfs-learn name: nas-learn # 资源的名称,在同一个集群中必须唯一,PV不分namespacespec: # 指定该资源的内容 accessModes: # 权限 - ReadWriteMany # 可以以读写的方式被多个node挂载; # ReadWriteOnce:可读可写,但支持被单个node挂载,HostPath只支持ReadWriteOnce; # ReadOnlyMany:可以以读的方式被多个node挂载; capacity: # 定义资源容量 storage: 1Pi # 定义资源容量值 mountOptions: # 挂载设置 - vers=4.0 # 版本 - noresvport # 设置连接服务器是否使用保密源端口。默认的resvport设置保密端口,带noresvport参数设置为非保密端口。内核2.6.28及以后版本支持 nfs: # 挂载资源文件系统类型 path: /learn # 挂载路径 server: xxxxxx.cn-hangzhou.nas.aliyuncs.com # 阿里云nas地址 persistentVolumeReclaimPolicy: Retain # 回收策略:不清理保留数据。即删除pvc或者pv后,在插件上的数据(nfs服务端)不会被删除。这种方式是最常用的,可以避免误删pvc或者pv而造成数据的丢失。 # Recycle:不保留数据。经测试pvc删除后,在nfs服务端的数据也会随机删除。只有hostPath和NFS支持这种方式 # Delete:删除存储资源,AWS EBS, GCE PD, Azure Disk, and Cinder volumes支持这种方式。
7、PersistentVolumeClaim资源类型案例
vi nasclaim-learn-pvc.yaml apiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中 kind: PersistentVolumeClaim # 指定创建资源的角色/类型metadata: # 资源的元数据/属性 finalizers: - kubernetes.io/pvc-protection name: nasclaim-nas-learn # 资源的名称,在同一个namespace中必须唯一 namespace: learn # 部署到namespace中spec: # 指定该资源的内容 accessModes: # 权限 - ReadWriteMany # 可以以读写的方式被多个node挂载; # ReadWriteOnce:可读可写,但支持被单个node挂载,HostPath只支持ReadWriteOnce; # ReadOnlyMany:可以以读的方式被多个node挂载; dataSource: null resources: # 资源 requests: # 请求资源 storage: 1Pi # 请求资源大小 selector: # 标签选择器 matchLabels: # 匹配标签名 name: nfs-learn volumeName: nas-learn # 卷名status: # 状态 accessModes: # 权限 - ReadWriteMany # 可以以读写的方式被多个node挂载; capacity: storage: 1Pi # 绑定资源大小 phase: Bound # 绑定结果Bound为绑定成功
8、更多k8s学习资料
1、kubernetes原理精讲【基础原理+实践篇】
2、kubernetes原理精讲【自签证书原理+实践篇】
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~