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
相关推荐
java_logo24 分钟前
Docker 部署 WordPress 全流程
运维·docker·容器·word·php·1024程序员节
java_logo5 小时前
Docker 部署 Elasticsearch 全流程手册
大数据·运维·mongodb·elasticsearch·docker·容器
Stay Passion6 小时前
Docker 组件:Docker Swarm
运维·docker·容器
路過的好心人6 小时前
Docker + Rabbitmq 集群部署
docker·容器·rabbitmq
青0721松8 小时前
千云低代码平台ETMS-k8s实施部署
低代码·云原生·容器
小小的木头人9 小时前
基于Docker 搭建 Prometheus & Grafana 环境
运维·docker·容器·grafana·prometheus
睡不醒的猪儿10 小时前
k8s部署自动化工具jenkins
云原生·kubernetes·自动化·jenkins
KevinPedri12 小时前
测试:uk8s创建监控和告警同步飞书等渠道
docker·kubernetes·云计算·1024程序员节
秋千码途12 小时前
在K8S中部署MySQL主从
mysql·云原生·容器·kubernetes
回忆是昨天里的海14 小时前
k8s部署容器化应用-tomcat
云原生·容器·kubernetes·1024程序员节