首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TKE操作指南 - wordpress 容器配置项的使用(十二)

TKE操作指南 - wordpress 容器配置项的使用(十二)

原创
作者头像
亮哥说TKE
修改2019-08-15 11:17:49
1.3K1
修改2019-08-15 11:17:49
举报
文章被收录于专栏:TKETKE

配置项概述

什么是配置项

配置用来规定一些程序在启动时读入设定,提供了一种修改程序设置的手段, 针对不同的对象可以使用不同的配置。

配置项是多个配置的集合,配置项的值可以是字符串,也可以是文件。 配置项支持YAML格式和可视化编辑, 单击查看 YAML 语法。 配置项只支持新增版本,不支持修改版本。

配置项有什么价值

  1. 使用配置项功能可以帮您管理不同环境、不同业务的配置,支持多版本,支持Yaml格式
  2. 方便您部署相同应用的不同环境,配置文件支持多版本,方便您进行更新和回滚应用
  3. 方便您快速将您的配置以文件的形式导入到容器中

配置文件的使用

使用方法一: 将配置项中的配置以数据卷的形式挂载到容器中 使用方法二: 创建服务时引用配置项环境变量

配置项以数据卷形式挂载到容器中

1.新建配置文件

点击并展开配置管理,点击configmap,点击新建,输入名称变量变量值,点击创建configmap。至此,configmap配置文件创建完成。

变量值说明:

我们替换的是/etc/nginx/conf.d/localhost.conf文件内容

将原配置文件中的日志文件:error_log /data/logs/nginx/wordpress.tencent.com_error.log error;

进行替换修改为:error_log /data/logs/nginx/wordpress.fengliang.com_error.log error;

备注:变量值内容

server {
        listen 80;
        server_name  wordpress.tencent.com localhost;
        error_log   /data/logs/nginx/wordpress.fengliang.com_error.log error;
        root "/data/www/wordpress";
        index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass  unix:/dev/shm/php-fpm.sock;
    }

    }

2.替换wordpress容器中的配置文件

这里需要登录node节点机器,执行

# kubectl get deployment //查看deployment任务

# kubectl edit deployment wordpress //编辑deployment wordpress yaml文件,进行参数添加

这里采用subPath方式进行挂载, 只会把文件挂载在已存在的目录,不会覆盖原目录,修改好之后,执行:wq保存退出即可。

修改后的wordpress yaml文件内容如下:

apiVersion: apps/v1beta2
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  generation: 1
  labels:
    k8s-app: wordpress-conf
    qcloud-app: wordpress-conf
  name: wordpress-conf
  namespace: default
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: wordpress-conf
      qcloud-app: wordpress-conf
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s-app: wordpress-conf
        qcloud-app: wordpress-conf
    spec:
      containers:
      - env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        image: ccr.ccs.tencentyun.com/liangfeng/test:test-nginx-201908051618-d852fb93feb0e32c386f4facb8550a3e1e679066
        imagePullPolicy: IfNotPresent
        name: nginx
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        volumeMounts:
        - mountPath: /etc/nginx/conf.d/localhost.conf
          name: config-volume
          subPath: localhost.conf
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      - env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        image: ccr.ccs.tencentyun.com/liangfeng/test:test-php-201908051634-7ec4253f2f17431d387aadecbf3d2b79a690681f
        imagePullPolicy: IfNotPresent
        name: php
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      imagePullSecrets:
      - name: qcloudregistrykey
      - name: tencenthubkey
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - configMap:
          defaultMode: 466
          name: wordpress-confv1
        name: config-volume

3.验证

在pod管理中,点击远程登录,再登录,此时进入nginx容器控制台,执行cat /etc/nginx.conf.d/localhost.conf,可以error_log /data/logs/nginx/wordpress.tencent.com_error.log error; 替换成了error_log /data/logs/nginx/wordpress.fengliang.com_error.log error;,说明日志名称替换了,替换成功!

创建服务时引用配置项目环境变量

1.新建配置

点击并展开配置管理,点击configmap,点击新建,输入名称变量变量值(我这里填写RUNTIME=dev,这个变量我想赋值给php容器),点击创建configmap。至此,configmap配置文件创建完成。

2.新建服务中引用configmap变量

我们只需在创建部署任务时,在实例内容器中,在php实例中,点击引用Configmap/Secret,选择ConfigMap,选择wordpress-confv1,选择RUMTIME变量,填写别名(我这里填写的是RUNTIME

3.验证

在pod管理中,点击远程登录,再点击登录,此时进入php容器控制台,执行echo RUNTIME输出dev,说明configmap配置的环境变量生效!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置项概述
    • 什么是配置项
      • 配置项有什么价值
      • 配置文件的使用
      • 配置项以数据卷形式挂载到容器中
      • 创建服务时引用配置项目环境变量
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档