k8s资源清单
资源清单自主式的pod无法自愈编辑文件vimpod.yamlapiVersion: v1#指定API的版本kind: Pod#文件自定义的资源类型和角色,控制器类型metadata:#元数据对象name: demo#命名空间labels:#标签app: demo#标签的类型室键值方式spec:#固定对象容器...
·
资源清单
自主式的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结束后不会重启
更多推荐
已为社区贡献1条内容
所有评论(0)