[k8s]cm挂到不同镜像如何获取env?

要求每个pod挂相同cm模板,得到属于自己的配置

这里写图片描述

具体实现

以filebeat镜像为例:

docker-entrypoint.sh

#!/bin/bash

set -ex

echo "pod-ip is $POD_IP"
sed -i "s#\#pod-ip#pod-ip: $POD_IP#g" /etc/filebeat/filebeat.yml  #注意这句
filebeat -e -c /etc/filebeat/filebeat.yml
Dockerfile

FROM docker.elastic.co/beats/filebeat:5.4.1

COPY docker-entrypoint.sh /usr/local/bin/
#RUN chmod +x /docker-entrypoint.sh

ENTRYPOINT ["docker-entrypoint.sh"]
apiVersion: v1
kind: ConfigMap
metadata:
  name: tomcat-spring
data:
  filebeat.yml: |
    filebeat.prospectors:
    - input_type: log
      fields:
        service-name: tomcat-spring
        #pod-ip                       # docker-entrypoint.sh会替换这行,具体,先sed获取pod变量值,然后替换这个#pod-ip.
      paths:
        - "/log/*.txt"
      multiline:
        pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}:[0-9]{3}'
        negate: true
        match: after
    output.elasticsearch:
      hosts: ["elasticsearch.logging.svc.cluster.local:9200"]
      username: "elastic"
      password: "changeme"
      template.name: "filebeat"
      template.path: "filebeat.template.json"
      template.overwrite: true
      index: "filebeat-docker-test"
    # Available log levels are: critical, error, warning, info, debug
    logging.level: info
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值