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