kubernetes资源清单
apiVersion:版本
#获取api-version资源信息
kubectl api-versions
kind:资源种类
类别 | 名称 |
---|---|
资源对象 | Pod、ReplicaSet、ReplicationController、Deployment、StatefulSet、DaemonSet、Job、CronJob、HorizontalPodAutoscaling |
配置对象 | Node、Namespace、Service、Secret、ConfigMap、Ingress、Label、ThirdPartyResource、 ServiceAccount |
存储对象 | Volume、Persistent Volume |
策略对象 | SecurityContext、ResourceQuota、LimitRange |
metadata:对象元数据的声明
名称name
标签labels
命名空间namespace
annotations: #注释(不具备什么功能 就是注释 )
spec:具体规格(期望状态)
replicas副本数
selector表示选择器:
matchLabels表示控制器匹配pod的标签
template:指定了创建pod的参数:
metadata元数据
spec是容器的选项
containers定义容器参数
name指定容器名称
image指定使用的镜像
containerPort指定容器端口。
例如:
apiVersion: api版本
kind: 资源类型
metadata: #元数据
name: 名字
namespace:所在命名空间
labels: 标签信息(可以多个)
##标签是key:value格式的key,value最长只能使用63个字符
# key只能是以数字、之母、_、-、点(.)这五类的组合,
#value可以为空,但只能以数字及字母开头或结尾
app: 标签内容
annotations: #注释(不具备什么功能 就是注释 )
zhushi: ”lalalalalalalal saddas”
spec:期望状态
containers:容器信息(可以多个名称云镜像)
- name: 自定义name名称
image:镜像名
- name:
image:
nodeSelector:#节点选择器(如给指定运行在disk为ssd的node上)
disk: ssd
imagePullPolicy:#是否使用本地或远端的下载镜像
#1、Always
#2、Never
#3、IfNotPresent
livenessProbe:#存活性探针
#1、exec #命令
#2、httpGet #http请求 指定ip:port
#3、tcpSocket #
readinessProbe:#就绪状态探针
#1、exec #命令
#2、httpGet #http请求 指定ip:port
#3、tcpSocket #
注意:
- 建议使用yaml格式
- 不同对应通过三个短横线进行间隔
- 和shell一样,# 表示注释
解决k8s 外网无法访问nodePort问题:iptables -P FORWARD ACCEPT
设置master节点是否能够运行pod(默认是不允许)