当前位置: 首页 > news >正文

软件网站开发平台门户网什么意思

软件网站开发平台,门户网什么意思,专业网站开发服务,wordpress拼音在k8s中,服务日志除了标准输出,还有写入日志文件,若要对这些日志文件进行持久化存储,无论是通过网络文件存储还是hostpath,都会面临一个问题,多个pod会往同一个存储目录的同一个文件进行写入,导…

在k8s中,服务日志除了标准输出,还有写入日志文件,若要对这些日志文件进行持久化存储,无论是通过网络文件存储还是hostpath,都会面临一个问题,多个pod会往同一个存储目录的同一个文件进行写入,导致日志写入异常。

解决方法:在存储上先以pod hostname 建个目录,再往里写日志,使用sidercar pod 或者修改启动脚本的方式,但是都不太便捷和浪费资源。从kubernetes 1.15版本后默认启用一个功能VolumeSubpathEnvExpansion。使用 subPathExpr 字段从 Downward API 环境变量构造 subPath 目录名。  subpathexpr 这个参数,支持带拓展的环境变量. 

subpathexpr 用法说明

在这个示例中,Pod 基于 Downward API 中的 Pod 名称,使用 subPathExpr 在 hostPath 卷 /data 中创建目录 pod1。 主机目录 /data/pod1 挂载到了容器的 /logs 中。

apiVersion: v1
kind: Pod
metadata:name: pod1
spec:containers:- name: container1env:- name: POD_NAMEvalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.nameimage: busyboxImagePullPolicy: IfNotPresentcommand: [ "sh", "-c", "while [ true ]; do echo 'Hello'; sleep 10; done | tee -a /logs/hello.txt" ]volumeMounts:- name: workdir1mountPath: /logssubPathExpr: $(POD_NAME) #POD_NAME 的值获取,使用到了downwardapi,通过这个特性可以获取到pod的 name,namespace, uid, podIP, nodeName 等; 以及cpu,mem的request 和limit, 这个在一些java应用中经常会用到。还可以把 label annotations 以文件的方式挂载到容器内。restartPolicy: Nevervolumes:- name: workdir1hostPath:path: /data

创建容器:

[root@k8s ~]# kubectl apply -f pod1.yaml
pod/pod1 created
[root@k8s ~]# ls /data/
pod1
[root@k8s ~]# ls /data/pod1/
hello.txt[root@k8s ~]# kubectl exec -it pod1 sh
/ # ls /logs/
hello.txt

deployment 示例

在目录里把namespace 加上,通过一个deployment 测试。

apiVersion: apps/v1
kind: Deployment
metadata:labels:run: subpathname: subpath
spec:replicas: 2selector:matchLabels:run: subpathtemplate:metadata:labels:run: subpathspec:containers:- name: container1env:- name: POD_NAMEvalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.name- name: POD_NAMESPACEvalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.namespaceimage: busyboxcommand: [ "sh", "-c", "while [ true ]; do echo 'Hello'; sleep 10; done | tee -a /logs/hello.txt" ]volumeMounts:- name: workdir1mountPath: /logssubPathExpr: $(POD_NAMESPACE)/$(POD_NAME)volumes:- name: workdir1hostPath:path: /data

通过文件创建deployment

[root@k8s ~]# kubectl apply -f subpath-deploy.yaml
[root@k8s ~]# kubectl get pod
NAME                      READY   STATUS    RESTARTS   AGE
subpath-79dd95caa-0adjs   1/1     Running   0          23m
subpath-79dd95caa-9adfa   1/1     Running   0          24m[root@k8s ~]# tree /data/
/data/
└── default├── subpath-79dd95caa-0adjs│   └── hello.txt└── subpath-79dd95caa-9adfa└── hello.txt3 directories, 2 files

可以看到存储目录 /data下,首先是namespace ,然后是pod name, 每个pod写入的文件都在各自目录,不会出现多个pod 写入同一文件的情况。
 

http://www.yayakq.cn/news/802059/

相关文章:

  • 调用百度地图做全景的网站施工企业的期间费用包括哪些
  • 翻译网站建设方案美工设计
  • 响应式网站模板下载深圳工业设计师工资一般多少
  • 做军事网站的项目背景图片网站建设的重要性 学校
  • 外贸商城网站开发HTML网站页面建设
  • 网站推广机构成都网页设计班
  • 一个后台可以做几个网站外文网站字体
  • 商城网站后台管理系统网络服务协议模板
  • 做网站哪个软件好外贸网站推广哪个平台好
  • 规范网站建设浙江网站建设推广公司哪家权威
  • seo做多个网站网页制作企业网站作业
  • 有哪些网站可以做印度市场调研学做网站会员
  • 域名备案好了后怎么做网站点子网站制作
  • 注册网站乱填邮箱ppt中超链接网站怎么做
  • 船员专用网站开发建议网站建设视频教程百度云
  • 抖音评论点赞自助网站品牌策划方案范文
  • 品牌网站建设公司推荐360免费建站永久免费
  • 怎样建设自己网站的后台wordpress程序一直503
  • 二手网站开发文档模板展厅设计图效果图大全
  • wordpress做站群企业网站设计目的和意义
  • 云南网站制作需求多少钱的英文
  • 郑州做企业网站哪家好网页ps制作
  • 如何查询网站的空间运营网站要多少费用
  • 策划方案网站企业网站推广策划
  • 网站做好了怎么办商家怎么入驻百度
  • 网站如何被谷歌收录长治一般建一个网站需要多少钱
  • 建筑信息查询平台seo资料站
  • 网站开发最佳组合深网网络网站
  • 专门做护理PDCA的网站网站定制 动易
  • 沈阳核工业建设工程总公司网站两个网站如何做端口映射