Kubernetes集群学习(3)——资源清单

文章目录

    • 一、资源清单
    • 二、实验步骤
      • 1.设置环境
      • 2.生成清单
      • 3.自主式Pod资源清单
      • 4.标签
      • 5.节点标签选择器

一、资源清单

Kubernetes集群学习(3)——资源清单_第1张图片

Kubernetes集群学习(3)——资源清单_第2张图片

Kubernetes集群学习(3)——资源清单_第3张图片

Kubernetes集群学习(3)——资源清单_第4张图片
Kubernetes集群学习(3)——资源清单_第5张图片

二、实验步骤

1.设置环境

删除之前的pod配置
在这里插入图片描述

Kubernetes集群学习(3)——资源清单_第6张图片
删除完成
在这里插入图片描述

2.生成清单

设置使yaml文件自动缩进
在这里插入图片描述

Kubernetes集群学习(3)——资源清单_第7张图片
编写yaml文件

格式如下:
apiVersion: group/version  //指明api资源属于哪个群组和版本,同一个组可以有多个版本
        $ kubectl api-versions		//查询命令

kind: 		//标记创建的资源类型,k8s主要支持以下资源类别
       Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob
    
metadata:	//元数据
        name:	//对像名称
        namespace:	//对象属于哪个命名空间
        labels:	//指定资源标签,标签是一种键值数据

spec: 		//定义目标资源的期望状态

$ kubectl explain pod		//查询帮助文档

在这里插入图片描述

Kubernetes集群学习(3)——资源清单_第8张图片
利用该资源清单创建pod应用:

在这里插入图片描述
删除pod应用:

在这里插入图片描述

资源清单创建多个pod应用:

Kubernetes集群学习(3)——资源清单_第9张图片
Kubernetes集群学习(3)——资源清单_第10张图片

用-c指定连接pod中的哪个容器

在这里插入图片描述

例如给pod编辑端口映射:

Kubernetes集群学习(3)——资源清单_第11张图片

在这里插入图片描述

查看pod状态

Kubernetes集群学习(3)——资源清单_第12张图片

在server4上查看该端口:
在这里插入图片描述

此时访问server4的时候,会重定向到server4的pod中

在这里插入图片描述

3.自主式Pod资源清单

$ vim demo.yaml
apiVersion: v1
kind: Pod
metadata:
  name: demo
  labels:
    app: demo
spec:
  containers:
  - name: ubuntu
    image: ubuntu
    command: ["/bin/sh", "-c", "sleep 3600"]
  - name: nginx
    image: nginx

$ kubectl create -f demo.yaml

4.标签

$ kubectl get pod --show-labels		//查看标签
NAME   READY   STATUS    RESTARTS   AGE   LABELS
demo   2/2     Running   0          8s    app=demo
$ kubectl get pod -l app			//过滤包含app的标签
NAME   READY   STATUS    RESTARTS   AGE
demo   2/2     Running   0          34s
$ kubectl get pod -L app
NAME   READY   STATUS    RESTARTS   AGE   APP
demo   2/2     Running   0          39s   demo
$ kubectl label pod demo version=v1	//打标签
pod/demo labeled
$ kubectl get pod --show-labels 
NAME   READY   STATUS    RESTARTS   AGE    LABELS
demo   2/2     Running   0          4m1s   app=demo,version=v1
$ kubectl label pod demo app=nginx --overwrite		//更改标签 
pod/demo labeled
$ kubectl get pod --show-labels 
NAME   READY   STATUS    RESTARTS   AGE     LABELS
demo   2/2     Running   0          5m40s   app=nginx,version=v1

5.节点标签选择器

$ kubectl label nodes server2 disktype=ssd
node/server2 labeled
$ kubectl get nodes -l disktype
NAME      STATUS   ROLES    AGE   VERSION
server2   Ready       6d    v1.17.2
在yaml文件中增加标签选择器

Kubernetes集群学习(3)——资源清单_第13张图片

$ kubectl delete -f demo.yml 
pod "demo" deleted
$ kubectl create -f demo.yaml 
pod/demo created
$ kubectl get pod -o wide
NAME   READY   STATUS    RESTARTS   AGE     IP            NODE      
demo   2/2     Running   0          2m16s   10.244.1.44   server2   

你可能感兴趣的:(linux企业)