k8s资源清单

资源清单

自主式的pod无法自愈

编辑文件vim pod.yaml

apiVersion: v1  	#指定API的版本
kind: Pod   		#文件自定义的资源类型和角色,控制器类型
metadata:    		#元数据对象
  name: demo		#命名空间
  labels:			#标签
    app: demo   	#标签的类型室键值方式
spec:				#固定对象容器的控制
  containers:		
  - name: nginx		#运行容器名称
    image: nginx	#运行的镜像

编辑文件的时候可以查看能帮助:

kubectl explain pod     #-required有这个参数必须添加
kubectl explain pod.spec

怎样开启:

 kubectl create -f pod.yaml   #直接指定文件

在这里插入图片描述
怎样删除:直接删除没有指定控制器

kubectl delete -f pod.yaml  #直接指定文件

一个pod可以运行多个容器
一个pod里面可以启用多个容器,但是不能使用同同一nginx个镜像:会发生资源的争抢80端口被占用。

指定一个nginx和一个redis镜像

apiVersion: v1
kind: Pod
metadata:
  name: demo
  labels:
    app: demo
spec:
  containers:
  - name: nginx
    image: nginx   
  - name: redis
    image: redis
kubectl create -f pod.yaml   #直接指定文件
kubectl  get  pod   #查看
NAME   READY   STATUS    RESTARTS   AGE
demo   2/2     Running   0          56s

日志的查看;
 kubectl logs demo nginx
 kubectl logs demo redis

标签
标签就是为了让我们部署的时候具有选择性,指定标签就可以

kubectl get pod demo --show-labels	#查看标签
kubectl get pod  -l app				#过滤标签
kubectl label pod demo version=v1	#打标签
kubectl label pod demo app=nginx --overwrite   #更改标签


 kubectl describe pod demo  #查看之前部署的任务都在server2上
 Normal  Scheduled  <unknown>  default-scheduler  Successfully assigned default/demo to server2
  Normal  Pulling    84s        kubelet, server2   Pulling image "nginx"
  Normal  Pulled     71s        kubelet, server2   Successfully pulled image "nginx"
  Normal  Created    71s        kubelet, server2   Created container nginx
  Normal  Started    71s        kubelet, server2   Started container nginx
  Normal  Pulling    71s        kubelet, server2   Pulling image "redis"
  Normal  Pulled     54s        kubelet, server2   Successfully pulled image "redis"
  Normal  Created    54s        kubelet, server2   Created container redis
  Normal  Started    54s        kubelet, server2   Started container redis

给节server3点打标签,选择在server3上开启服务

 kubectl label nodes server3 disktype=ssd	#给server3定义标签
 kubectl get nodes --show-labels 			#查看节点标签
 vim pod.ymal #编辑文件
 apiVersion: v1
kind: Pod
metadata:
  name: demo
  labels:
    app: demo
spec:
  containers:
  - name: nginx
    image: nginx
  - name: redis
    image: redis
  nodeSelector:   #指定节点的标签
    disktype: ssd

kubectl create -f pod.yaml	#部署

部署好之后会自动的选取节点,因为server3上有相应的标签

[kubeadm@server1 ~]$ kubectl  get  pod -o  wide
NAME   READY   STATUS    RESTARTS   AGE   IP           NODE      NOMINATED NODE   READINESS GATES
demo   2/2     Running   0          96s   10.244.2.6   server3   <none>           <none>

拉取镜像的三种策略:
1,Alway:每次都会重新拉去镜像(默认)
2,Never:仅使用本地的镜像
3,ifNotPresent:有本地用本地没有则拉取

重启的三种策略:
1,Always:一直进行尝试重启
2,OnFaityre:只有非零退出的时候才会重启
3,Never:pod结束后不会重启

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值