kubernetes yaml文件访问外部变量
 

1、在 shell脚本里 使用export为变量赋值

    export REGISTRY_HOST=$1
    export IMAGE_MYSQL_VERSION=$2

2、在yaml中编辑如下,红色部分就是变量引用了

    spec:
      containers:
        - name: mysql
          image: $REGISTRY_HOST/mysql:$IMAGE_MYSQL_VERSION
          imagePullPolicy: Always

3、启动时使用如下命令,不能使用 kubectl create -f mysql.yaml

envsubst < mysql.yaml | kubectl apply -f -

4、后记
还有其它的方式可以变相解决变量传输的问题,但是这些都比较麻烦,不推荐
1、使用 替换命令,比如sed,在create之前进行替换
2、使用cat eof 来动态生成yaml文件
 

Logo

开源、云原生的融合云平台

更多推荐