k8s传入元数据,自定义数据传入pod

1.元数据或自定义数据 传入环境变量官网参考链接
# 参考yaml
#root@node1:~$ cat deploy-demo.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deploy
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: myapp
      release: canary
  template:
    metadata:
      name: test-deploy
      annotations:
        jarfile: test.jar
      labels:
        app: myapp
        jarfile: test2.jar
        release: canary
    spec:
      containers:
      - name: myapp
        image: ikubernetes/myapp:v2
        env:
        - name: test
          valueFrom:
            fieldRef:
              fieldPath: metadata.annotations['jarfile']
        - name: test2
          valueFrom:
            fieldRef:
              fieldPath: metadata.labels['jarfile']
        - name: test3
          valueFrom:
            fieldRef:
              fieldPath: metadata.name

结果图

root@node1:~$ kb apply -f deploy-demo.yaml
deployment.apps/myapp-deploy configured
root@node1:~$ kb get pod |grep deploy-demo
root@node1:~$ kb get pod |grep deploy
myapp-deploy-6b7899c7d4-9mgzq   1/1       Running   0          38s
myapp-deploy-6b7899c7d4-j8n2g   1/1       Running   0          34s
root@node1:~$ kb exec -i myapp-deploy-6b7899c7d4-j8n2g -- printenv|grep test
test2=test2.jar
test3=myapp-deploy-6b7899c7d4-j8n2g
test=test.jar
2. Downward API(DownwardAPIVolumeFiles:挂载目录的方式)

参考未验证

apiVersion: v1
kind: Pod
metadata:
  name: kubernetes-downwardapi-volume-example
  labels:
    zone: us-est-coast
    cluster: test-cluster1
    rack: rack-22
  annotations:
    build: two
    builder: john-doe
spec:
  containers:
    - name: client-container
      image: k8s.gcr.io/busybox
      command: ["sh", "-c"]
      args:
      - while true; do
          if [[ -e /etc/podinfo/labels ]]; then
            echo -en '\n\n'; cat /etc/podinfo/labels; fi;
          if [[ -e /etc/podinfo/annotations ]]; then
            echo -en '\n\n'; cat /etc/podinfo/annotations; fi;
          sleep 5;
        done;
      volumeMounts:
        - name: podinfo
          mountPath: /etc/podinfo
          readOnly: false
  volumes:
    - name: podinfo
      downwardAPI:
        items:
          - path: "labels"
            fieldRef:
              fieldPath: metadata.labels
          - path: "annotations"
            fieldRef:
              fieldPath: metadata.annotations
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值