首页 > 其他分享 >k8s yaml资源清单格式

k8s yaml资源清单格式

时间:2022-12-22 11:01:29浏览次数:44  
标签:name service nginx app yaml 清单 pod k8s my


k8s由于资源比较多,组合起来参数众多,不适合用cli传参的形式。 因此用yaml文件的形式传参给k8s。 yaml文件相当于剧本,运维人员相当于制片人,k8s相当于导演,docker相当于剧务、pod详单于演员

pod的资源清单格式:

pod.yaml

apiVersion: v1
kind: Pod
metadata:
name: my-pod
namespace: default
labels:
app: myapp
spec:
containers:
- name: myapp-1
image: busybox:latest
- name: myapp-2
image: busybox:latest
command:
- "/bin/sh"
- "-c"
- "sleep 10"

创建资源:

kubectl apply -f pod.yaml

deployments的资源清单格式:

apiVersion: # 可以通过cli获取:kubectl  api-resources |grep [deployments|svc|pods]
kind: Deployment # 资源类型:Deployment|Pods|Ingress|Services|...
metadata: # 资源元数据
name: my-nginx # 资源名称
namespace: default
labels:
app: my-nginx
spec:
selector: # 标签选择器
matchLabels:
app: my-nginx # 选择带有my-nginx标签的资源
replicas: 2 # 副本数
template: # 副本模板。模板的内容(除了不需要apiVersion、kind之外,其它子字段都需要定义)
metadata:
labels:
app: my-nginx
spec:
containers:
- name: my-nginx
image: nginx
ports:
- containerPort: 80
volumeMounts:
- mountPath: /etc/nginx/nginx.conf
name: nginx
subPath: nginx.conf
volumes:
- name: nginx
configMap:
name: nginx-configmap
items:
- key: nginx_conf
path: nginx.conf

service的yaml清单格式:

apiVersion: networking.k8s.io/v1
kinf: Ingress
metadata:
name: ingress-entry
spec:
backend:
serviceName: nginx-service
servicePort: 80

---
apiVersion: v1
kind: Service
metadata:
name: nginx-service #定义service名称为nginx-service
labels:
app: nginx-service #为service打上app标签
spec:
type: NodePort #使用NodePort方式开通,在每个Node上分配一个端口作为外部访问入口
selector:
app: my-nginx
ports:
- port: 8000 #port是k8s集群内部访问service的端口,即通过clusterIP: port可以访问到某个service
targetPort: 80 #targetPort是pod的端口,从port和nodePort来的流量经过kube-proxy流入到后端pod的targetPort上,最后进入容器
nodePort: 32500 #nodePort是外部访问k8s集群中service的端口,通过nodeIP: nodePort可以从外部访问到某个service

configmap的资源清单格式:

apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-configmap
data:
nginx_conf: |-
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}


标签:name,service,nginx,app,yaml,清单,pod,k8s,my
From: https://blog.51cto.com/u_9152644/5962429

相关文章

  • Windows安全事件ID清单
    ID desc1100 事件记录服务已关闭1101 审计事件已被运输中断。1102 审核日志已清除1104 安全日志现已满1105 事件日志自动备份1108 事件日志记录服务遇到错误4608 Wi......
  • 使用kubeadm安装k8s集群(v1.18.0)
    一、安装环境系统[root@master1~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)[root@master1~]#uname-aLinuxmaster13.10.0-1160.el7.x86_64#1......
  • Kubernetes(k8s) kubectl top常用命令
    kubectl在$HOME/.kube目录中查找一个名为config的配置文件。可以通过设置KUBECONFIG环境变量或设置--kubeconfig参数来指定其它kubeconfig文件。本文主要介绍K......
  • k8s源码分析9-检查k8s集群准入配置和其他准备工作
    本节重点总结:k8s集群检查操作新建项目kube-mutating-webhook-inject-pod,准备工作k8s集群检查操作检查k8s集群否启用了准入注册API:执行kubectlapi-versions|g......
  • kubeasz 安装 K8S 集群启用 NFS 存储问题排查
    目录kubeasz安装Kubernetes集群启用NFS存储,默认情况无法安装使用问题排查集群规划安装Kubernetes集群问题复现配置文件中默认启用nfs存储安装后nfspod无法启动......
  • k8s高级存储-GlusterFS存储类(StorageClass)实战
       GlusterFS是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。集成来自多台服务器上的磁盘存储资源到单一全局命名......
  • K8S集群(高可用)搭建详细过程
    多master(高可用)1.安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:一台或多台机器,操作系统 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多可以访问......
  • kubernetes-使用yaml
    查询k8s支持的对象kubectlapi-resources#查看当前版本支持的所有对象kubectlexplainpodkubectlexplainpod.metadatakubecltexplainpod.speckubecltexplai......
  • SpringBoot - Yaml语法
    测试用到的类:类的属性必须重写Get与Set方法不管属性是私有的还是公共的,必须重写Get与Set方法@Component@ConfigurationProperties(prefix="student")publicclass......
  • pytest + yaml 框架 -13.多环境配置切换
    前言当我们在测试环境写好自动化的代码,领导说你把代码部署到联调环境再测一测,这时候去改用例里面的配置是很痛苦的。所以我们在设计自动化用例的时候,就先要想到多环境的配......