` k8s(三) | 听云轩

k8s(三)

pod的定义文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
apiVersion: v1             //当前配置文件的版本
kind: Pod //表示创建的资源类型
metadata: //资源的元数据
name: string //name是必须的元数据项,用来标识pod的名称
namaspace: string //所属的命名空间,默认为default
labels: //自定义标签
- name: string
annotations: //自定义注解
- name: string
spec: //pod中容器的详细定义
containers: //pod中的容器列表
- name: string //容器的名称
images: string //容器的镜像名称
imagePullPolice: [Always | Never | IfNotPresent] //获取镜像的策略,always表示每次都重新下载镜像;never表示表示仅使用本地镜像;ifnotpresent表示优先本地,如果没有再下载
command: [string] //容器的启动命令列表
args: [string] //容器启动命令参数
workingDir: string //容器的工作目录
volumeMounts: //挂载到容器内部的存储卷
- name: string //该卷的名称
mountPath: string //在容器内部挂载的绝对路径
readOnly: boolean //是否以只读模式挂载,默认是读写
ports:
- name: string
containerPort: int //容器需要监听的端口号
hostPort: int //容器所在主机所要监听的端口号
protocol: string //端口协议
env: //环境变量
- name: string //环境变量名
value: string //环境变量值
resources: //资源限制和资源请求的设置
limits: //限制的设置
cpu: string
memory: string
requests: //请求的限制
cpu: string
memory: string
livenessProbe: //容器健康检查的设置
exec:
command: [string] //相应的命令或者是脚本
httpGet: //健康检查的设置,HTTPGet的方式,需要指定path,port
path: string
port: int
host: string
scheme: string
httpHeaders: //头部的添加
- name: string
value: string
tcpSocket:
port: int
initialDelaySeconds: number
timeoutSeconds: number
periodSeconds: number //定期探测时间设置
successThreshold: 0
failureThreshold: 0
securityContext:
privileged: false
restartPolicy: [Always | Never | OnFailure] //重启策略
nodeSelector: object
imagePullSecrets:
- name: string
hostNetwork: false
volumes: //共享卷的列表
- name: string
emptyDir: {} //类型为emptyDir的存储卷,表示与pod同生命周期的临时目录,值为一个空对象
hostPath: //类型为hostpath的存储卷,表示挂载pod所在宿主机的目录
path: string //该目录所在路径
secret:
secretName: string
items:
- key: string
path: string
configMap:
name: string
items:
- key: string
path: string

关于pod的操作

操作 命令
创建 kubectl create -f frontend-localredis-pod.yaml
查询Pod运行状态 kubectl get pods --namespace=<NAMESPACE>
查询Pod详情 kebectl describe pod <POD_NAME> --namespace=<NAMESPACE>
删除 kubectl delete pod <POD_NAME> ; kubectl delete -f pod.yaml
更新 kubectl replace pod.yaml
查看容器的日志 kubectl logs < pod-name >
------ 本文结束 ------
您的支持将鼓励我继续创作