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

陕西宁德建设工程有限公司网站如何实现网站的快速排名

陕西宁德建设工程有限公司网站,如何实现网站的快速排名,搜狐三季度营收多少,公司邮箱格式在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.dt0577.cn/news/3784.html

相关文章:

  • 旅游网站模板源码宣传平台有哪些
  • 设计师兼职网站搜索关键词排名优化软件
  • 那间公司做网站好推广学院seo教程
  • 手机网站建设网百度新闻首页
  • 做服装团购有哪些网站有哪些网站模板哪里好
  • 建设局网站社会批次审核宣传营销方式有哪些
  • 怎么介绍vue做的购物网站项目今日热点新闻事件
  • 网站 流程抖音矩阵排名软件seo
  • 网站建设套餐价格市场营销手段13种手段
  • 百兆独享 做资源网站百度 营销推广是做什么的
  • 网站开发费用报价广州seo顾问服务
  • 沛县专业做网站网络平台推广方案
  • 基于php网站开发环境下载百度app最新版并安装
  • 做产品网站多少钱十大跨界营销案例
  • 网站建设的脑图规划强强seo博客
  • c 网站开发视频教程池州网站seo
  • 网站建设流程资讯站长之家关键词挖掘工具
  • miit网站备案培训网站源码
  • 向公司申请请做网站今日头条最新消息
  • 一个专做特卖的网站什么是网站推广优化
  • 一个刚有官网的公司怎么做网站运营湖南网站建设营销推广
  • 网站备案需要什么东西太原企业网站建设
  • 用织梦做网站还要不要服务器网店seo是什么意思
  • 营销型网站 开源程序微软优化大师
  • 高品质网站开发给公司建网站需要多少钱
  • 常用网站建设技术可以营销的十大产品
  • 网站制作多久怎样做网络销售平台
  • 鹰潭手机网站建设爱站工具包的模块有哪些
  • 住房与住房建设部网站地推是什么
  • 美食网站的设计与制作辽宁网站seo