3.通过yaml配置文件创建pod

这里写目录标题

通过yaml配置文件创建pod

k8s中一切皆资源

pod是最小的资源单位

任何的k8s资源都可以通过yaml清单文件来定义

k8s yaml文件的主要组成部分(需要顶格写)

复制代码
apiVersion:v1  api版本
kind : pod 资源类型,可以是pod、deployment、statefulset
metadata: 属性,pod相关的元数据,用于描述pod的数据
spec:详细,期望pod按照这里面的描述进行创建

这里以nginx为例

因为之前创建过nginx的deploy,所以这里先将相关的deploy和service删除掉

复制代码
kubectl delete deploy nginx
kubectl delete svc nginx

编写yaml配置文件

一定要注意格式

vim nginx_pod.yaml

复制代码
apiVersion: v1           #k8s api的版本
kind: Pod                #资源对象的类型,可以是pod deploy svc等
metadata:                #pod相关的元数据,用于描述pod的数据
  name: nginx-demo       #pod的名称
  labels:                #定义pod的标签
    type: app            #自定义label标签,名字为type,值为app
    version: 1.0.0       #自定义标签,描述pod版本号
  namespace: 'default'   #命名空间配置
spec:                    #详细定义对象,期望pod按照这里的描述进行创建
  containers:            #对pod中容器的描述
  - name: nginx          #容器的名称
    image: nginx:latest                 #指定容器的镜像,指定具体版本
    imagePullPolicy: IfNotPresent       #镜像的拉取策略,如果本地有镜像就用本地的,没有就远程拉取镜像
    command:                            #指定容器启动时执行的指令"nginx -g daemon off"
    - nginx
    - -g
    - 'daemon off;'
    workingDir: /usr/share/nginx/html   #指定容器启动后的工作目录
    ports:                              #指定容器的端口列表
    - name: http                        #指定端口名称
      containerPort: 80                 #指定容器内暴露的端口
      protocol: TCP                     #指定该端口基于哪种协议
    env:                                #容器环境变量设置
    - name: JVM_OPTS                    #环境变量名
      value: '-Xms128m -Xmx128m'        #环境变量的值
    resources:                          #指定资源限制
      requests:                         #最少需要多少资源
        cpu: 100m                       #限制cpu最少使用0.1个核心
        memory: 128Mi                   #限制内存最少使用128M
      limits:                           #最多可以用多少资源
        cpu: 200m                       #限制cpu最多使用0.2个核心
        memory: 256Mi                   #限制内存最多使用256M
  restartPolicy: OnFailure              #定义pod的重启策略

根据配置文件创建pod

kubectl create -f nginx_pod.yaml

pod创建成功

展示更多信息
kubectl get pod -o wide

可以看到pod所在节点,以及IP地址

在主节点测试可以正常访问


配置文件参数参考

创建一个nginx的pod,会发现它起了两个容器

以nginx容器为例,一个pod中封装了两个容器,一个是pod的基础容器,用来实现k8s的相关功能,一个是nginx的业务容器


常用资源类型与别名
资源类型 别名
pod po
deployment deploy
service svc
namespace ns
node no
相关推荐
cui_hao_nan8 小时前
Docker后端部署
运维·docker·容器
小张是铁粉9 小时前
docker在Linux的安装遇到的问题
linux·docker·容器
没有名字的小羊11 小时前
8.Docker镜像讲解
运维·docker·容器·tomcat
木鱼时刻12 小时前
容器与 Kubernetes 基本概念与架构
容器·架构·kubernetes
做一个AC梦14 小时前
Docker安装失败:Docker Desktop installation failed
运维·docker·容器
Shan120514 小时前
浅谈Docker Kicks in的应用
运维·docker·容器
Li&&Tao14 小时前
docker 常用命令
docker·容器·eureka
chuanauc1 天前
Kubernets K8s 学习
java·学习·kubernetes
小张是铁粉1 天前
docker学习二天之镜像操作与容器操作
学习·docker·容器
烟雨书信1 天前
Docker文件操作、数据卷、挂载
运维·docker·容器