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

做阿里巴巴网站图片尺寸搜索引擎seo优化平台

做阿里巴巴网站图片尺寸,搜索引擎seo优化平台,住房和城乡建设查询平台,网站关停公告怎么做前言#xff1a;公司云原生k8s二开工程师发了一串通用性命令用来查询以下数值#xff0c;我想着能不能将这命令写成一个自动化脚本。 起初设计的 版本一#xff1a;开头加一条环境变量#xff0c;执行脚本后#xff0c;提示输入#xff1a;需要查询的命名空间#xff0c…前言公司云原生k8s二开工程师发了一串通用性命令用来查询以下数值我想着能不能将这命令写成一个自动化脚本。 起初设计的 版本一开头加一条环境变量执行脚本后提示输入需要查询的命名空间输出信息追加到以当前年月日时来命名自动生成的txt文件 版本二自动生成中文排头标题并生成csv文件这样就不用手动将txt转化成excl表了 版本三发现生成csv文件其中 副本数 和 容器镜像信息区分不开想着用在文本格式处理更有优势的python来写最终成功了。 需要注意的是我们这边k8s容器平台是二开版然后由于我目前试验的命名空间业务的特殊性标题里通用的 就绪探针 和 存活探针采集的参数为资源限制 CPU 和 资源限制 Memory的儿你使用时具体的参数需要根据你的当前deployments.apps配置参数来判定。 查询数值 namespaceName部署所在的命名空间 deploymentName部署的名称 replicas部署的副本数量 image容器的镜像 resourcesRequest容器请求的资源 resourcesLimits容器资源的限制 readinessProbe就绪探针的配置 livenessProbe存活探针的配置 skyworkingNamespace环境变量 SW_AGENT_NAMESPACE 的值 lopLogsApplog环境变量 lop_logs_applog 的值通用命令 kubectl get deployments.apps -n 需要查询的命名空间 -o jsonpath{range .items[*]} {\n\n} namespaceName{.metadata.namespace}{\t} deploymentName{.metadata.name} {\t} replicas{.spec.replicas} {range .spec.template.spec.containers[*]} image{.image} {\t} resourcesRequest{.resources.requests} {\t} resourcesLimits{.resources.limits} {\t} readinessProbe{.readinessProbe} {\t} livenessProbe{.livenessProbe} {\t}{end} skyworkingNamespace{.spec.template.spec.containers[0].env[?(.nameSW_AGENT_NAMESPACE)].*} {\t} lopLogsApplog{.spec.template.spec.containers[0].env[?(.namelop_logs_applog)].*} {end} {\n} 版本一shell脚本 #!/bin/bash# 设置环境变量 export ENV_VARIABLESomeValueread -p 请输入需要查询的命名空间 namespace# 获取日期和时间并格式化作为文件名 current_date$(date %Y%m%d%H) filename${current_date}.txt# 执行 kubectl 命令并将结果追加到文件中 kubectl get deployments.apps -n $namespace -o jsonpath{range.items[*]} {\n\n} namespaceName{.metadata.namespace}{\t} deploymentName{.metadata.name} {\t} replicas{.spec.replicas} {range.spec.template.spec.containers[*]} image{.image} {\t} resourcesRequest{.resources.requests} {\t} resourcesLimits{.resources.limits} {\t} readinessProbe{.readinessProbe} {\t} livenessProbe{.livenessProbe} {\t}{end} skyworkingNamespace{.spec.template.spec.containers[0].env[?(.nameSW_AGENT_NAMESPACE)].*} {\t} lopLogsApplog{.spec.template.spec.containers[0].env[?(.namelop_logs_applog)].*} {end} {\n} $filenameecho 输出已追加到 $filename 文件中。执行结果 版本二shell脚本 #!/bin/bashexport ENV_VARIABLESomeValueread -p 请输入需要查询的命名空间 namespacecurrent_date$(date %Y%m%d%H) filename${current_date}.csv# 使用以下命令生成 CSV 格式的输出并追加到文件中 kubectl get deployments.apps -n $namespace -o jsonpath{range.items[*]}{\n}$\t{.metadata.namespace}$\t{.metadata.name}$\t{.spec.replicas}$\t{range.spec.template.spec.containers[*]}{.image}{end}$\t{range.spec.template.spec.containers[*]}{.resources.requests}{end}$\t{range.spec.template.spec.containers[*]}{.resources.limits}{end}$\t{range.spec.template.spec.containers[*]}{.readinessProbe}{end}$\t{range.spec.template.spec.containers[*]}{.livenessProbe}{end}$\t{range.spec.template.spec.containers[*]}{.spec.template.spec.containers[0].env[?(.name\SW_AGENT_NAMESPACE\)].value}{end}$\t{range.spec.template.spec.containers[*]}{.spec.template.spec.containers[0].env[?(.name\lop_logs_applog\)].value}{end} $filenameecho 输出已追加到 $filename 文件中。执行结果 版本三 改了很多版这里就直接展示成功吧 通用版-py脚本 import subprocess import datetime# 获取用户输入的命名空间 namespace input(请输入当前需要查询的命名空间 )# 获取当前时间并生成文件名 timestamp datetime.datetime.now().strftime(%Y%m%d%H) output_file f{timestamp}.csv# 设置标题行 with open(output_file, w) as f:f.write(命名空间,名称,副本数,容器镜像,资源请求,资源限制,就绪探针,存活探针,环境变量\n)# 执行 kubectl 命令并处理结果 command fkubectl get deployments.apps -n {namespace} -o json.split() result subprocess.check_output(command).decode()import json data json.loads(result)def format_probe(probe):if not probe:return N/Aprobe_type details if httpGet in probe:probe_type HTTP GEThttp_get probe[httpGet]details f{probe_type}: Path: {http_get.get(path, N/A)}, Port: {http_get.get(port, N/A)}elif tcpSocket in probe:probe_type TCP Sockettcp_socket probe[tcpSocket]details f{probe_type}: Port: {tcp_socket.get(port, N/A)}elif exec in probe:probe_type Execexec_command probe[exec]details f{probe_type}: Command: { .join(exec_command)}elif cpu in probe and memory in probe:details fResource: CPU {probe[cpu]}, Memory {probe[memory]}else:return N/Areturn detailsdef format_resources(resources):if not resources:return N/Acpu resources.get(cpu, N/A)memory resources.get(memory, N/A)return fCPU: {cpu}, Memory: {memory}with open(output_file, a) as f:for item in data.get(items, []):namespace_name item[metadata][namespace]deployment_name item[metadata][name]replicas item[spec][replicas]images [container[image] for container in item[spec][template][spec][containers]]image images[0] if images else N/Arequest format_resources(item[spec][template][spec][containers][0][resources][requests])limit format_resources(item[spec][template][spec][containers][0][resources][limits])readiness_probe N/Aif item[spec][template][spec][containers] and 0 len(item[spec][template][spec][containers]) and readinessProbe in item[spec][template][spec][containers][0]:readiness_probe format_probe(item[spec][template][spec][containers][0][readinessProbe])liveness_probe N/Aif item[spec][template][spec][containers] and 0 len(item[spec][template][spec][containers]) and livenessProbe in item[spec][template][spec][containers][0]:liveness_probe format_probe(item[spec][template][spec][containers][0][livenessProbe])env_var N/Aif item[spec][template][spec][containers] and env in item[spec][template][spec][containers][0]:env_var next((env[value] for env in item[spec][template][spec][containers][0][env] if env[name] SW_AGENT_NAMESPACE), N/A)f.write(f{namespace_name},{deployment_name},{replicas},{image},{request},{limit},{readiness_probe},{liveness_probe},{env_var}\n)print(f查询结果已写入文件{output_file})定制版-py脚本 import subprocess import datetime# 获取用户输入的命名空间 namespace input(请输入当前需要查询的命名空间 )# 获取当前时间并生成文件名 timestamp datetime.datetime.now().strftime(%Y%m%d%H) output_file f{timestamp}.csv# 设置标题行 with open(output_file, w) as f:f.write(命名空间,名称,副本数,容器镜像,资源预留 CPU,资源预留 Memory,资源限制 CPU,资源限制 Memory,环境变量\n)# 执行 kubectl 命令并处理结果 command fkubectl get deployments.apps -n {namespace} -o json.split() result subprocess.check_output(command).decode()import json data json.loads(result)def format_probe(probe):if not probe:return N/Aprobe_type details if httpGet in probe:probe_type HTTP GEThttp_get probe[httpGet]details f{probe_type}: Path: {http_get.get(path, N/A)}, Port: {http_get.get(port, N/A)}elif tcpSocket in probe:probe_type TCP Sockettcp_socket probe[tcpSocket]details f{probe_type}: Port: {tcp_socket.get(port, N/A)}elif exec in probe:probe_type Execexec_command probe[exec]details f{probe_type}: Command: { .join(exec_command)}elif cpu in probe and memory in probe:details fResource: CPU {probe[cpu]}, Memory {probe[memory]}else:return N/Areturn detailsdef format_resources(resources):if not resources:return N/Acpu resources.get(cpu, N/A)memory resources.get(memory, N/A)return fCPU: {cpu}, Memory: {memory}with open(output_file, a) as f:for item in data.get(items, []):namespace_name item[metadata][namespace]deployment_name item[metadata][name]replicas item[spec][replicas]images [container[image] for container in item[spec][template][spec][containers]]image images[0] if images else N/Arequest format_resources(item[spec][template][spec][containers][0][resources][requests])limit format_resources(item[spec][template][spec][containers][0][resources][limits])readiness_probe N/Aif item[spec][template][spec][containers] and 0 len(item[spec][template][spec][containers]) and readinessProbe in item[spec][template][spec][containers][0]:readiness_probe format_probe(item[spec][template][spec][containers][0][readinessProbe])liveness_probe N/Aif item[spec][template][spec][containers] and 0 len(item[spec][template][spec][containers]) and livenessProbe in item[spec][template][spec][containers][0]:liveness_probe format_probe(item[spec][template][spec][containers][0][livenessProbe])env_var N/Aif item[spec][template][spec][containers] and env in item[spec][template][spec][containers][0]:env_var next((env[value] for env in item[spec][template][spec][containers][0][env] if env[name] SW_AGENT_NAMESPACE), N/A)# 按照新的标题格式写入数据parts_request request.split(, ) if request! N/A else [N/A, N/A]parts_limit limit.split(, ) if limit! N/A else [N/A, N/A]f.write(f{namespace_name},{deployment_name},{replicas},{image},{parts_request[0].replace(CPU: , )},{parts_request[1].replace(Memory: , )},{parts_limit[0].replace(CPU: , )},{parts_limit[1].replace(Memory: , )},{env_var}\n)print(f查询结果已写入文件{output_file})执行 执行结果 自动化脚本和输出结果递交上去后受到公司 高级系统架构师兼技术专家组云原生高级架构师、云原生k8s二开工程师以及其他同事和领导的点赞。
http://www.yingshimen.cn/news/89013/

相关文章:

  • 做旅游网站怎么样手机建网站模板
  • 电商平台网站建设多少钱html5视频网站源码
  • 郑州网站推广多少钱教育网站平台建设
  • 官方网站welcome怎么注册小程序推广公司
  • 华电集团班组建设网站深圳竞价托管公司
  • 比较网站建设编写网站代码
  • 济宁做网站公司建立网站就是制作网页
  • 保定网站建设服务平台档案网站建设的意义
  • 1核1g服务器做网站北京市住房与建设厅官方网站
  • 东莞哪里有网站制作公司老会计手把手教做帐官方网站
  • 购物网站首页模板下载网站底部版权信息模板
  • 手机网站大全推荐做旅游网站推广
  • 北京网站设计公司有哪些潼南集团网站建设
  • 免费注册一个网站泉州网站公司建站
  • 网站推广有必要吗房屋设计平面图
  • 创立一个网站需要什么企业宣传片制作公司收费
  • 开车网址来一个seo作用与原理思维导图
  • 网站建设用哪个好24小时学会网站建设 百度云
  • 免费1级做爰片观看网站在线视频网站建设经济效益
  • 建设e购物网站东莞专业网站推广策划
  • 免费推广网站视频天健emp软件开发平台
  • 对网站做维护如何借用别人静态网站做模板
  • 手机qq网页版网站怎样做酒店网站ppt
  • 订阅号怎么做微网站手机app制作费用
  • 无锡网站外包有没有转门做乐器演奏的网站
  • 网站seo怎么做知乎建设服装网站目的和作用
  • 东莞做外贸网站公司wordpress底部浮窗留言
  • 娄底市建设局网站企业网站seo外包
  • 基于asp的网站设计与实现厦门做网站
  • 网站优化网西安哪些做网站的公司好