[root@k8s-master1 configmap]# cat wenruo_crm_v4.nfs.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: wenruo-crm
name: wenruo-crm
namespace: edu
spec:
replicas: 1
selector:
matchLabels:
app: wenruo-crm
template:
metadata:
creationTimestamp: null
labels:
app: wenruo-crm
spec:
imagePullSecrets:
- name: registry-pull-secret
containers:
- name: wenruo-crm
# image: 10.1.234.11/library/wenruo-crm:v2
image: 10.1.234.11/data/nginx:latest
imagePullPolicy: Always
ports:
- containerPort: 80
volumeMounts:
- name: www
mountPath: /usr/share/nginx/html
- name: nginx-config
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
volumes:
- name: www
persistentVolumeClaim:
claimName: wenruo-crm-pvc
- name: nginx-config
configMap:
name: nginx-config
items:
- key: nginx.conf
path: nginx.conf
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wenruo-crm-pvc
namespace: edu
spec:
storageClassName: managed-nfs-storage #名称应该与class metadata 名称一样
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: Service
metadata:
name: wenruo-crm
namespace: edu
spec:
type: ClusterIP
selector:
app: wenruo-crm
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: wenruo-crm
namespace: edu
spec:
rules:
- host: wenruo-crm.rpdns.com
http:
paths:
- path: /
backend:
serviceName: wenruo-crm
servicePort: 80
k8s 登陆仓库拉取代码的凭证
kubectl create secret docker-registry registry-pull-secret --docker-server=10.1.234.11 --docker-username=admin --docker-password=Harbor12345 --docker-email=admin@ctnrs.com -n edu
添加拉取凭证
imagePullSecrets:
- name: registry-pull-secret
镜像拉取策略
imagePullPolicy: Always
IfNotPresent:默认值,镜像在宿主机上不存在时才拉取。
Always:每次创建Pod都会重新拉取一次镜像,可以保证都是最新版本镜像。
Never:Pod 永远不会主动拉取这个镜像