kubectl create secret docker-registry docker-hub-secret \
--docker-server=registry.cn-hangzhou.aliyuncs.com \
--docker-username=original_dk@163.com \
--docker-password=111111 \
--docker-email=original_dk@163.com \
--namespace=dk-shop
复制代码
看如下项目的配置方式 mysql
# 一个.env
# .env=.env中前边的.env是k8s自动部署到项目对应目录的文件名称,后边.env是项目中的.env文件
kubectl create secret generic user --from-file=.env=.env --namespace=dk-shop
# 多个.env
kubectl create secret generic user --from-file=mysql.env=mysql.env --from-file=redis.env=redis.env --namespace=dk-shop
复制代码
而后对应的deployment.yaml
redis
apiVersion: apps/v1
kind: Deployment
metadata:
name: user
labels:
app: user
spec:
replicas: 3
selector:
matchLabels:
app: user
template:
metadata:
labels:
app: user
version: v1
spec:
serviceAccountName: dk-shop
containers:
- name: user
image: registry.cn-hangzhou.aliyuncs.com/dk-shop/user:dev-dc95299f
ports:
- containerPort: 5001
volumeMounts:
- name: config
# mountPath:
# 有subPath,则是个文件,会被覆盖;没有subPath,是个文件夹;里边的全部文件都会被隐藏,而后把配置放到里边,并命名为config.ini
mountPath: /var/www/config.ini
# 若是配置文件在项目根目录,若是没有subPath,则会把项目根目录里(即mountPath对应的目录)所有文件隐藏,会出现问题
# 若是配置文件在单独文件夹,则可能不须要subPath
# subPath,对应的下边的key
subPath: config.ini
- name: env
mountPath: /var/www/.env
subPath: .env
volumes:
- name: config
configMap:
name: user
items:
- key: config.ini # configMap中的key
path: config.ini # 条目的值被存储在项目的该文件中,有subPath,则subPath优先
- name: env
secret:
secretName: user
复制代码
kubectl apply -f deml.yaml
复制代码
kustomize build /home/user-deploy/overlays/develop/v1.1.123 -o user.yaml
复制代码
域名服务 好比:
order.service.demo.com/api/v2/order/getOrderList 服务名称.service.域名/api/api版本号/模块名/操做名sql