k8s中yaml配置文件剖析
1.Deployment.yaml 配置文件剖析
apiVersion: extensions/v1beta1 # 指定api的版本,此值必须在kubectl api-versions中,以“组/版本”的格式
kind: Deployment # 指定创建资源的角色/类型
metadata: # 资源的元数据
annotations: # 资源带上注解
deployment.kubernetes.io/revision: 1
labels: # 指定资源的标签
app: blackbox-exporter
name: blackbox-exporter # 资源的名字
namespace: kube-system # 资源的名称空间
spec: # Deployemnt的规格说明
replicas: 1 # 声明副本数量,默认是1
selector: # 选择器
matchLabels: # 标签选择器,匹配标签
app: blackbox-exporter
template: # 定义pod的模板
metadata: # 定义pod的元数据,至少要定义一个label
labels:
app: blackbox-exporter
spec: # 描述pod的规格
volumes: # 定义数据卷
- name: config
configMap: # 此种卷的类型是configMap
name: blackbox-exporter # configMap的名字是blackbox-exporter
defaultMode: 420
containers:
- name: blackbox-exporter
image: harbor.od.com/public/blackbox-exporter:v0.15.1
imagePullPolicy: Always # 拉取镜像的策略
args: # 启动参数
- --config.file=/etc/blackbox_exporter/blackbox.yaml
- --log.level=info
- --web.listen-address=:9115
ports:
- containerPort: 9115 # 容器里面的起的端口
name: blackbox-port
protocol: TCP
resources: # 资源闲置
limits: # 限制,当容器的cpu或者内存达到限制,就容器oom
cpu: 200m # cpu是0.2核
memory: 256Mi # 内存是256Mi
requests:
cpu: 100m # 容器起来的时候要求的cpu核数,1000m是1核,100m是0.1核
memory: 50Mi # 50Mi是内存
volumeMounts: # 数据卷的挂在
- name: config # 引用上面volumes提到的configMap类型的卷
mountPath: /etc/blackbox_exporter # 挂载到容器内的路径
readinessProbe: # 就绪性探针,里面的条件满足了才会认为pod被拉起来了
tcpSocket:
port: 9115
initialDelaySeconds: 5
timeoutSeconds: 5
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
2. ApiVersion说明
ApiVersion: 代表选择使用的是哪个版本的api
常见的有
extensions/v1beta1 # 在ingress,deployment资源用的比较多,偶尔daemonSet也可以用
v1 # 在rbac,configMap,service的时候用的比较多
apps/v1 # 在使用daemonSet的时候用的比较多
3.Service.yaml配置文件浅析
kind: Service
apiVersion: v1 # 使用v1版本的api
metadata: # 元数据
name: grafana #service的名称
namespace: infra
spec:
selector:
app: grafana # 指定app名为grafana的应用,为自己的下一层
ports:
- protocol: TCP
port: 3000 # 服务端口
targetPort: 3000 # 容器里面的端口
4.Ingress.yaml配置文件浅析
apiVersion: extensions/v1beta1 # 指定api的版本
kind: Ingress
metadata:
name: grafana # ingress资源的名字指定
namespace: infra
spec: # 描述
rules:
- host: grafana.od.com # 识别grafana.od.com域名
http:
paths:
- path: /
backend: # 后端
serviceName: grafana # 转发给后端名为grafana的service
servicePort: 3000 # service的端口是3000
原创:做时间的朋友