您的位置:首页 > 科技 > IT业 > uc浏览器在线网页_重庆seo结算_竞价托管咨询微竞价_网站推广技巧有哪些

uc浏览器在线网页_重庆seo结算_竞价托管咨询微竞价_网站推广技巧有哪些

2025/2/28 1:40:05 来源:https://blog.csdn.net/weixin_38924998/article/details/145512864  浏览:    关键词:uc浏览器在线网页_重庆seo结算_竞价托管咨询微竞价_网站推广技巧有哪些
uc浏览器在线网页_重庆seo结算_竞价托管咨询微竞价_网站推广技巧有哪些

       在当今数字化的浪潮中,容器编排技术成为了构建和管理应用程序的核心力量。Kubernetes(简称 k8s)作为容器编排领域的佼佼者,凭借其强大的自动化部署、扩展和管理能力,深受开发者和运维人员的青睐。而 Nginx 作为一款高性能的 Web 服务器和反向代理服务器,在众多项目中承担着流量分发、负载均衡等重要职责。今天,我们就来详细探讨如何在 k8s 中部署 Nginx 的 Pod,并且在 Nginx 里添加业务配置文件,引入前端开发的代码,同时实现与 k8s 中后端 Java Pod 的精准连接,构建一个完整且高效的应用架构。

创建存储

前段代码存储

这里默认是有nfs存储的,在nfs的存储上,创建了前段代码存放的位置目录。存放的目录 /data/nfs/yewu/dist,建议 这个目录我会给予777的权限,防止访问报错403。确保nfs把这个目录挂载出去了,查看nfs的配置。

dist]# cat /etc/exports
/data/nfs *(rw,sync,no_root_squash)

这里如果配置后不生效就重启nfs ,保证nfs没有问题

systemctl restart rpcbind
systemctl restart nfs-server

前段的nginx配置文件存储

这里是准备好的yewu-nginx.conf配置文件,里面有业务逻辑。确认配置文件无误。

这里有一个/api 下面我写了 proxy_pass http://yewu:5854; 这里是因为我的k8s集群里有一个 叫业务的pod关联了svc 叫这个名字并在内部暴漏了5854端口。先确保内部可以访问再到这里配置。

server {listen 80;client_max_body_size 1024M;server_name   yewu.dztech.com;add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';if ($request_method = 'OPTIONS') {return 204;}location / {add_header Accept-Ranges bytes;root /data/front/yewu/dist;index index.html index.htm;try_files $uri $uri/ /index.html;}location /api {proxy_pass http://yewu:5854;proxy_next_upstream error timeout invalid_header http_500 http_503;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_redirect off;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;proxy_buffer_size 128k;proxy_buffers 8 64k;proxy_busy_buffers_size 128k;proxy_temp_file_write_size 128k;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_ignore_client_abort on ;}access_log yewu-access.log;error_log yewu-error.log error;
}

把配置文件加载到configmap里,把nginx.conf 放到当前目录,开始创建configmap

kubectl create configmap yewu-nginx-config --from-file=yewu-nginx.conf -n test

这里如果配置文件想改,就直接删掉,再次创建configmap。

kubectl delete configmap yewu-nginx-config -n test

创建pod资源文件

创建存储资源文件

注意这里的pv和pvc的storageClassName类型 需要一致managed-nfs-storage,如果不一致有可能会导致Pod创建过程中,一直处于Pending。

apiVersion: v1
kind: PersistentVolume
metadata:name: yewu-nfs-pvlabels:type: nfs
spec:capacity:storage: 10Gi  accessModes:- ReadWriteMany persistentVolumeReclaimPolicy: Retain  storageClassName: managed-nfs-storage  nfs:server: 10.100.100.100 path: /data/nfs/yewu/dist  
# 定义 PersistentVolumeClaim
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: yewu-nfs-pvcnamespace: test
spec:accessModes:- ReadWriteManyresources:requests:storage: 10Gi selector:matchLabels:type: nfs storageClassName: managed-nfs-storage  

创建服务资源文件

# 定义 Deployment
---
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentnamespace: test
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginx# 这里要换成自己的私有仓库image: harbor.da.con/repo/nginx:latestports:- containerPort: 80volumeMounts:- name: nginx-config-volumemountPath: /etc/nginx/conf.d/readOnly: true- name: nfs-frontend-volumemountPath: /data/front/yewu/distvolumes:- name: nginx-config-volumeconfigMap:name: yewu-nginx-configdefaultMode: 0644- name: nfs-frontend-volumepersistentVolumeClaim:claimName: yewu-nfs-pvc 
# 定义 Service
---
apiVersion: v1
kind: Service
metadata:name: nginx-servicenamespace: test
spec:selector:app: nginxports:- protocol: TCPport: 80targetPort: 80nodePort: 31794type: NodePort

验证服务是否正常

查看已创建的pod运行状态

]# kubectl get pod -n test -l app=nginx 
NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-7576688b45-hr68r   1/1     Running   0          3h29m

查看已创建的pod关联的svc

]# kubectl get svc -n test nginx-service 
NAME            TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
nginx-service   NodePort   10.245.206.137   <none>        80:31794/TCP   167m

访问验证

这里用的nodeport类型这里固定映射了31794端口,用任意一个k8s节点的31794端口都可以访问的。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com