02-yaml资源文件

1、创建pod的基础文件

  • 创建pod的yaml文件详解
---
apiVersion: extensions/v1beta1         #当前格式的版本
kind: Deployment                       #当前创建资源的类型, 当前类型是Deployment
metadata:                              #当前资源的元数据
  name: test-os                        #当前资源的名字 是元数据必须的项
spec:                                  #是当前Deployment的规格说明
  replicas: 1                          #指当前创建的副本数量 默认不填 默认值就为‘1’
  template:                            #定义pod的模板
    metadata:                          #当前pod的元数据
      labels:                          #至少顶一个labels标签,可任意创建一个 key:value
        app: test_os
    spec:                              #当前pod的规格说明
      containers:                      #容器
      - name: centos                   #是容器的名字容器名字是必须填写的
        image: harbor.soft72.com:8080/public/myos:latest         #镜像 镜像的名字和版本
        imagePullPolicy: IfNotPresent   #镜像在宿主机上不存在时才拉取
        stdin: true
        tty: true
---
apiVersion: v1
kind: Service                           #指定资源类型
metadata:                               
  name: web-service                     #指定service的名称
  namespace: default                    
spec:
  clusterIP: 10.254.254.110             #指定service的集群IP,自己可以规划,只能在集群内访问(pod内做负载)
  ports:
  - port: 80                            #指定service前端端口
    targetPort: 80                      #指定目标端口,即容器的服务端口,
    nodePort:
    protocol: TCP
  selector:
    app: web                            #指定服务的名字
  type: ClusterIP
cat web-service.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  namespace: kube-public
spec:
  clusterIP: 10.254.254.110
  ports:
  - port: 88        #clusterip的端口
    targetPort: 80  #pod的端口
    nodePort: 30002 #映射到kube-node的端口
    protocol: TCP
  selector:
    app: nginx-lab
  type: NodePort
  • kubectl命令
如何使用资源文件
使用资源文件管理对象
 - [x] kubectl (apply | create | delete) -f 资源文件
 - [x] create 创建资源对象、apply 升级更新资源对象
 - [x] delete 删除资源对象
[root@kube-master ~]# kubectl create -f baseos.yaml 
[root@kube-master ~]# kubectl delete -f baseos.yaml 

2、configmap映射

2.1、ConfigMap定义

ConfigMap 用于解决容器内的配置文件更新修改的问题

 - [x] 获取 httpd.conf, 并做出相应的修改
 - [x] 创建 configmap
 - [x] kubectl create configmap 名称 --from-file=文件路径
使用拷贝的文件 httpd.conf,创建一个 configmap,名称为 my-httpd
[root@kube-master files]# kubectl create configmap my-httpd --from-file=/root/files/httpd.conf
># httpd.conf是已经修改过的文件

2.2、参数详解

---
apiVersion: extensions/v1beta1         #当前格式的版本
kind: Deployment                       #当前创建资源的类型, 当前类型是Deployment
metadata:                              #当前资源的元数据
  name: web-test                       #当前资源的名字 是元数据必须的项
spec:                                  #是当前Deployment的规格说明
  replicas: 1                          #指当前创建的副本数量 默认不填 默认值就为‘1’
  template:                            #定义pod的模板
    metadata:                          #当前pod的元数据
      labels:                          #至少顶一个labels标签,可任意创建一个 key:value
        app: web-test
    spec:                              #当前pod的规格说明
      containers:                      #容器
      - name: web-test                 #是容器的名字容器名字是必须填写的
        image: 192.168.1.100:5000/myos:httpd    #镜像 镜像的名字和版本
        ports:
        - containerPort: 8080                   #声明容器端口号
        volumeMounts:
        - mountPath: /var/webroot               #目标路径
          name: site-data                       #引用卷映射定义 (自定义名称,相当于是标识ID)
        - mountPath: /etc/httpd/conf/httpd.conf #映射完全路径
          name: my-config                       #引用卷映射定义 (自定义名称,相当于是标识ID)
          subPath: httpd.conf                   #目标文件名
      volumes:
      - name: site-data
        emptyDir: {}
      - name: my-config                         #定义卷资源名称
        configMap:
          name: my-httpd                        #引用的 configmap 配置名(kubectl create configmap 创建的)
          items:
          - key: httpd.conf
            path: httpd.conf

创建

[root@kube-master ~]# kubectl create -f configmap.yaml 

练习


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值