创建一个initdb.sql文件,输入如下内容:
-- This is a postgres initialization script for the postgres container.
-- Will be executed during container initialization ($> psql postgres -f initdb.sql)
CREATE ROLE adsuser WITH LOGIN PASSWORD 'initial' INHERIT CREATEDB;
CREATE DATABASE ads WITH ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;
GRANT ALL PRIVILEGES ON DATABASE ads TO adsuser;
CREATE SCHEMA ads AUTHORIZATION adsuser;
-- ALTER DATABASE ads SET search_path TO 'ads';
ALTER DATABASE ads OWNER TO adsuser;
执行如下命令下,将输出重定向到一个名为ads-db-secret的yaml文件里。
kubectl create secret generic ads-db-secret --from-file initdb.sql --dry-run -o yaml > ads-db-secret.yaml
这个secret文件如下:
将自动生成的creationTimestamp删除,再添加postgres_password_value。
最后使用kubectl app生成secret。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":