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

做淘宝客网站赚钱吗wordpress 自定义开发

做淘宝客网站赚钱吗,wordpress 自定义开发,wordpress的页面,超酷网站模板Kubernetes 应用版本号 在 Kubernetes 里#xff0c;版本更新使用的不是 API 对象#xff0c;而是两个命令#xff1a;kubectl apply 和 kubectl rollout#xff0c;当然它们也要搭配部署应用所需要的 Deployment、DaemonSet 等 YAML 文件。 在 Kubernetes 里应用都是以 …Kubernetes 应用版本号 在 Kubernetes 里版本更新使用的不是 API 对象而是两个命令kubectl apply 和 kubectl rollout当然它们也要搭配部署应用所需要的 Deployment、DaemonSet 等 YAML 文件。 在 Kubernetes 里应用都是以 Pod 的形式运行的而 Pod 通常又会被 Deployment 等对象来管理所以应用的“版本更新”实际上更新的是整个 Pod。 Pod 是由 YAML 描述文件来确定的更准确地说是 Deployment 等对象里的字段 template。 所以 Kubernetes 就使用了“摘要”功能用摘要算法计算 template 的 Hash 值作为“版本号”。 #获取ngx的pod kubectl get pod #删除其中一个 kubectl delete pod ngx-dep-6796688696-9zwxh #再获取ngx的pod查看变化 kubectl get pod 可以看到Pod 名字里的那串随机数“6796……”是没有变化的变化的是数字后面的pod编号的随机字符。中间的随机数字就是 Pod 模板的 Hash 值也就是 Pod 的“版本号”。 如果变动了 Pod YAML 描述比如把镜像改成 nginx:stable-alpine会生成一个新的应用版本kubectl apply 后就会重新创建 Pod。 命令操作 #删除pod kubectl delete -f nginx-deploy.yml #查看删除结果 kubectl get pod # 不改yaml,再次生成pod kubectl apply -f nginx-deploy.yml #查看生成pod的版本号是否改变 kubectl get pod #删除pod kubectl delete -f nginx-deploy.yml #查看删除结果 kubectl get pod #编辑pod yaml修改版本号 vim nginx-deploy.yml # 重新生成pod kubectl apply -f nginx-deploy.yml #查看生成pod的版本号是否改变 kubectl get pod更改后的yaml apiVersion: apps/v1 kind: Deployment metadata:name: ngx-depspec:replicas: 2selector:matchLabels:app: ngx-deptemplate:metadata:labels:app: ngx-depspec:volumes:- name: ngx-conf-volconfigMap:name: ngx-confcontainers:- image: nginx:stable-alpinename: nginxports:- containerPort: 80volumeMounts:- mountPath: /etc/nginx/conf.dname: ngx-conf-vol ~ 不改变yaml重新生成的pod的版本号还是6796688696 更改了yaml后生成的pod的版本号就变成了574d5f9d4d Kubernetes 实现应用更新 修改 ConfigMap让它输出 Nginx 的版本号方便 curl 查看版本 nginx-config-cm.yml apiVersion: v1 kind: ConfigMap metadata:name: ngx-confdata:default.conf: |server {listen 80;location / {default_type text/plain;return 200ver : $nginx_version\nsrv : $server_addr:$server_port\nhost: $hostname\n;}}执行命令 # 编辑configMap内容 vim nginx-config-cm.yml # 更新 ConfigMap kubectl apply -f nginx-config-cm.yml 创建 Pod 镜像明确地指定版本号是 1.21-alpine实例数设置为 4 个 nginx-deploy-v1.yml apiVersion: apps/v1 kind: Deployment metadata:name: ngx-depspec:replicas: 4 selector:matchLabels:app: ngx-deptemplate:metadata:labels:app: ngx-depspec:volumes:- name: ngx-conf-volconfigMap:name: ngx-confcontainers:- image: nginx:1.21-alpinename: nginxports:- containerPort: 80volumeMounts:- mountPath: /etc/nginx/conf.dname: ngx-conf-vol 执行命令 # 删除现有的nginx pod kubectl delete -f nginx-deploy.yml # 创建新版本的nginx yml vim nginx-deploy-v1.yml # 生成4个pod kubectl apply -f nginx-deploy-v1.yml # 查看生成pod kubectl get pod本地端口转发到 Kubernetes 集群中的服务 # 查看service服务 kubectl get svc # 绑定到svc service 转发请求来查看状态 kubectl port-forward svc/ngx-svc 8080:80 # 测试转发 curl 127.1:8080kubectl port-forward: 这个命令将本地端口转发到 Kubernetes 集群中的某个资源如 Pod 或 Service。只会将流量发送到一个特定的端点而不是通过服务的负载均衡机制svc/ngx-svc: 指定要转发的目标资源这里是名为 ngx-svc 的 Service。8080:80: 将本地的 8080 端口转发到 ngx-svc 服务的 80 端口。: 将该命令放入后台运行这样可以继续在终端中执行其他命令。 镜像升级到 nginx:1.22-alpine 为了能够观察到应用更新的过程我们还需要添加一个字段 minReadySeconds让 Kubernetes 在更新过程中等待一点时间确认 Pod 没问题才继续其余 Pod 的创建工作。 minReadySeconds 这个字段不属于 Pod 模板所以它不会影响 Pod 版本 nginx-deploy-v2.yml apiVersion: apps/v1 kind: Deployment metadata:name: ngx-depspec:minReadySeconds: 15 # 确认Pod就绪的等待时间replicas: 4selector:matchLabels:app: ngx-deptemplate:metadata:labels:app: ngx-depspec:volumes:- name: ngx-conf-volconfigMap:name: ngx-confcontainers:- image: nginx:1.22-alpinename: nginxports:- containerPort: 80volumeMounts:- mountPath: /etc/nginx/conf.dname: ngx-conf-vol ~ 执行命令 # 创建文件内容把上面内容copy进来 vim nginx-deploy-v2.yml # 更新成的新的pod kubectl apply -f nginx-deploy-v2.yml # 查看滚动更新过程 kubectl rollout status deployment ngx-dep # 绑定到svc service 转发请求来查看状态 kubectl port-forward svc/ngx-svc 8080:80 # 测试转发 curl 127.1:8080 # 查看滚动详情信息 kubectl describe deploy ngx-dep 一开始的时候 V1 Pod即 ngx-dep-54b865d75的数量是 4当“滚动更新”开始的时候Kubernetes 创建 1 个 V2 Pod即 ngx-dep-d575d5776并且把 V1 Pod 数量减少到 3接着再增加 V2 Pod 的数量到 2同时 V1 Pod 的数量变成了 1最后 V2 Pod 的数量达到预期值 4V1 Pod 的数量变成了 0整个更新过程就结束了。 滚动更新”就是由 Deployment 控制的两个同步进行的“应用伸缩”操作老版本缩容到 0同时新版本扩容到指定值是一个“此消彼长”的过程。 Kubernetes管理应用更新 如果更新过程中发生了错误或者更新后发现有 Bug可以随时使用 kubectl rollout pause 来暂停更新检查、修改 Pod或者测试验证如果确认没问题再用 kubectl rollout resume 来继续更新。 注意它们只支持 Deployment不能用在 DaemonSet、StatefulSet 上 1.24 之后支持了 StatefulSet 的滚动更新 Kubernetes应用版本回退 查看更新历史使用的命令是 kubectl rollout history #查看有哪些版本 kubectl rollout history deployment ngx-dep #查看每个版本的详细信息 kubectl rollout history deployment ngx-dep --revision2 # 回退到上一个版本 kubectl rollout undo deploy ngx-dep # 回退到指定版本--to-revision1不能有空格 kubectl rollout undo deploy ngx-dep --to-revision1kubectl rollout undo 的操作过程其实和 kubectl apply 是一样的执行的仍然是“滚动更新”只不过使用的是旧版本 Pod 模板把新版本 Pod 数量收缩到 0同时把老版本 Pod 扩展到指定值。 Kubernetes 添加更新描述 在Deployment 的 metadata 里加上一个新的字段 annotations。annotations 字段的含义是“注解”“注释”形式上和 labels 一样都是 Key-Value也都是给 API 对象附加一些额外的信息但是用途上区别很大。 annotations 添加的信息一般是给 Kubernetes 内部的各种对象使用的有点像是“扩展属性”labels 主要面对的是 Kubernetes 外部的用户用来筛选、过滤对象的。 annotations 里的值可以任意写Kubernetes 会自动忽略不理解的 Key-Value但要编写更新说明就需要使用特定的字段 kubernetes.io/change-cause。 创建 2 个版本的 Nginx 应用同时添加更新说明 nginx-deploy-v1.yml apiVersion: apps/v1 kind: Deployment metadata:name: ngx-depannotations: kubernetes.io/change-cause: v1, ngx1.21spec:replicas: 4 selector:matchLabels:app: ngx-deptemplate:metadata:labels:app: ngx-depspec:volumes:- name: ngx-conf-volconfigMap:name: ngx-confcontainers:- image: nginx:1.21-alpinename: nginxports:- containerPort: 80volumeMounts:- mountPath: /etc/nginx/conf.dname: ngx-conf-vol nginx-deploy-v2.yml deployment.apps/ngx-dep REVISION CHANGE-CAUSE 3 v1, ngx1.21 4 update to v2, ngx1.22[rootiZbp12ghzy6koox6fqt0svZ ~]# cat nginx-deploy-v2.yml apiVersion: apps/v1 kind: Deployment metadata:name: ngx-depannotations: kubernetes.io/change-cause: update to v2, ngx1.22spec:minReadySeconds: 15 # 确认Pod就绪的等待时间replicas: 4 selector:matchLabels:app: ngx-deptemplate:metadata:labels:app: ngx-depspec:volumes:- name: ngx-conf-volconfigMap:name: ngx-confcontainers:- image: nginx:1.22-alpinename: nginxports:- containerPort: 80volumeMounts:- mountPath: /etc/nginx/conf.dname: ngx-conf-vol 执行命令 vim nginx-deploy-v1.yml kubectl apply -f nginx-deploy-v1.yml vim nginx-deploy-v2.yml kubectl apply -f nginx-deploy-v2.yml #查看滚动更新 kubectl rollout status deployment ngx-dep #查看一下更新历史 kubectl rollout history deployment ngx-dep
http://www.w-s-a.com/news/180697/

相关文章:

  • 深圳市南山区建设局网站公司简介网页
  • 免费小程序制作软件爱站网站seo查询工具
  • 承接电商网站建设缔烨建设公司网站
  • 网站运营介绍十大国外室内设计网站
  • 网站建设完毕后怎么加后台电影购买网站怎么设计
  • 空间ip地址访问网站音乐分享 wordpress
  • 做网站一单能挣多少wordpress主题文件夹在哪
  • 视频社区app源码台州优化网站
  • 保定高端网站建设做微商好还是开网站好
  • 有什么方法在淘宝发布网站建设设计wordpress评分
  • 自己做的网站怎么爬数据库酷播wordpress
  • 广州哪家做网站还可以黑龙江省建设厅网站的电话
  • 青海省高等级公路建设管局网站国内做led灯网站有
  • 做网站成功建设银行网站网址
  • 自动生成网站上海十大活动策划公司
  • 企业网站建设源码HTML论述市场营销对网站设计的影响
  • 网站设计常见问题建设工程网上质检备案网站
  • 网站怎样优化文章关键词建设网站需要钱吗
  • 加强网站建设和管理的通知重庆网站推广产品
  • 网站建设术语解释百度发布信息的免费平台
  • 情公司做的网站seo与网站优化 pdf
  • 做一个购物网站多少钱江阴市住房和城乡建设局网站
  • 网站建设都包括哪些ps怎么做网站首页和超链接
  • 怎样低成本做网站推广编辑网站教程
  • 邯郸网站建设信息网站开发报价人天
  • 王店镇建设中心小学网站酷玛网站建设
  • 网站需求方案wordpress博客主题推荐
  • 网站安全证书过期怎么办那个视频网站最好最全网址
  • 外贸上哪个网站开发客户建行个人网上银行登录入口
  • 空间除了可以做网站还能干什么qq钓鱼网站