应用升级 Kubectl set image --help 有案例指定新版本 [root@k8s-master ~]# kubectl set image deployment/nginx nginx=nginx:1.11 升级之后他会将所有版本进行替换,用describe来查看版本 [root@k8s-master ~]# kubectl get pods NAME                       READY     STATUS    RESTARTS   AGE busybox…
k8s 集群管理和微服务 适合做啥 都知道k8s是集群 适合微服务 有很多教程 但你可以先了解他能干啥 traefix 是负载均衡工具 k8s 适合部署无状态依赖的微服务 可以按需求开启多个微服务 管理工具能自动发现并均衡 像redis sql ceph(对象存储)这些 支撑 和有状态依赖的服务 并不适合k8…
上一篇我们讲到了dapr提供的bindings,通过绑定可以让我们的程序轻装上阵,在极端情况下几乎不需要集成任何sdk,仅需要通过httpclient+text.json即可完成对外部组件的调用,这样只需要对外暴露一个轻量级的http服务器提供restapi即可作为一个云函数提供对外服务.上一篇我们同时也提到了在serverless框架下的函数还可以按需进行自动扩容缩容的,在极端情况下甚至可以将实例缩容至0,理想情况下serverless在无人访问时不占用系统除磁盘外的任何资源,当有访问时通过自…
Docker Swarm 服务版本更新 环境: 系统:Centos 7.4 x64 应用版本:Docker 18.09.0 管理节点:192.168.1.79 工作节点:192.168.1.78 工作节点:192.168.1.77 1.管理节点:创建服务设置更新策略 docker service create \ --replicas 3 \ --name redis \ --update-delay 10s \ --update-parallelism 2 \ --update-failure…
ansible的两篇博客,本来是打算合二为一的,发现只用一篇写,嗯,好鬼长.... 一向秉承简单为美的我于是忍痛割爱,一分为二了 ansible实现升级发布.回滚功能 1.应用场景 在实际生产环境中,每天都会更改很多次配置文件,要批量地重启服务 , how ??? 机器少可以手动改,再reload一下 机器多达数百台  ——> 使用自动化工具,效率高呗   2.思路 配置文件放到一个固定的地方,每次更改时(直接在当前机器上更改),改完后批量发布到其他机器上,再reload     一.做一个配置…
第一步:创建服务 1. 配置 nginx 的 yaml 文件 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-nginx spec: replicas: template: metadata: labels: run: my-nginx spec: containers: - name: my-nginx imagePullPolicy: IfNotPresent #默认拉取方式,先查本地是否存在 image:…
Jenkins配置回滚思路: 目前只能实现使用salt来管控配置文件的管控,配置文件的版本回滚需要后续定制化开发,或者进行格外其他的管理操作.后续实现 以下配置可以为每个项目备份构建文件到本地指定路径 测试路径说明: [root@jenkins-lopc-test-11 target]# pwd /opt/jenkins/jobs/pro/jobs/activiti/builds/30/archive/target   pro是jenkins上自己配置的文件目录名称 activiti是jenki…
目录 1.概述 2.项目实践 2.1.环境说明 2.2.Jenkins配置 2.2.1.修改Jenkins的运行用户 2.2.2.配置Jenkins用户和Gitlab的ssh-key 2.2.3.Jenkins的凭据配置 2.2.4.目标主机的一些设置 2.2.5.新建一个自由风格的任务进行如下配置 3.项目演示 3.1.发布操作 3.2.回滚操作 1.概述 关于jenkins和gitlab的部署,不多加赘述,网上的部署文档多了去了,不踩坑,不成长!这里只聊聊生产的一些实践实用.在关于php项目…
让我们的代码部署变得easy,不再难,Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins非常易于安装和配置,简单易用.本次环境模拟一整套企业生产流程 转载互联网 Jenkins 2019年04月24日 相关文章 Jenkins 前端自动发布 [git 钩子] 持续集成之Jenkins+Gitlab简介 [一] Jenkins 搭建企业实战案例 (发布与回滚)一.Jenkins介绍及安装 二.Jenkins 安装配…
扩(缩)容服务 扩容服务 Service还提供了复制(类似kubernetes里的副本)功能.可以通过 docker service scale 命令来设置服务中容器的副本数: docker service scale masl=4 和创建服务一样,增加scale数之后,将会创建新的容器,这些新启动的容器也会经历从准备到运行的过程,过一分钟左右,服务应该就会启动完成,这时候可以再来看一下 masl 服务中的容器 可以看到,之前masl容器在manager-node和node1节点上各有一个实例,…
1. 查询deploy副本数,ready数表示副本数 kubectl get deploy 2.通过命令直接扩容或者缩容,--replicas=1表示把my-dep缩容到副本数1,--replicas=4表示把my-dep扩容到副本数4, kubectl scale deployment my-dep --replicas=1 3.查询扩缩后的副本数是否正确…
前言:有人问了我一个问题,就是说在网络中断的时候,JTA的全局事务管理,会不会回滚?当时说会回滚,但没给对方说清楚理由,也不太认同我的观点.现在总结一下. 今天一天都在看文档(也查了一些博客和网站),主要看EJB.JTA.JDBC.Mysql,来分享一下地址(全是官方网址,可能更具有权威): http://docs.oracle.com/javaee/6/tutorial/doc/  备注:虽然是java EE 6的文档,但基本上不会差太多,主要看的是EJB.JTA https://docs.o…
写在前面 我们以前windows跑.net Framework程序的时候,发布,自己乖乖的替换程序:备份,也是自己一个一个的重命名备份:回滚,发布遇到问题的回滚更是不用说了:运维很是怕我们 这些用windows的啊: 那全面拥抱linux的一一.net core 时代 ,是如何处理这些个问题的呢? 噔噔蹬蹬~请往下看. 运行环境 centos:7.2 cpu:1核 2G内存 1M带宽 Jenkins ver. 2.150.1 一台安装jenkins的机器. (本文例子不一定要安装jenkins,…
主要思路: 1.做三个文件夹,用于放置不可随意修改的配置文件(测试发布.预发布.真实发布) 2.每次都先修改配置文件再进行构建(构建时会先把配置文件复制到构建的目录,再同步到发布的目录) 3.发布完代码后,创建备份目录并复制代码到备份目录进行备份 4.使用脚本需要传执行类型和构建ID shell脚本如下: #!/bin/sh echo "$1" model=$ echo "${model}" version=$ project_MainDir="/data…
基本命令 记录历史 --record kubectl  apply -f **** --record 查看当前状态 kubectl rollout status deployment/demo -w 查看历史 kubectl rollout history deployment/demo 回滚到指定版本 kubectl rollout undo deployment/demo --to-revision=2…
1.部署Jenkins 1.1 安装jdk # apt 安装jdk11 apt install openjdk-11-jdk # 查看 root@jenkins:~# java -version openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-…
1.创建 Deployment root@k8-deploy:~/k8s-yaml/controllers/deployments# vim nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metada…
服务管理 # 创建服务docker service create --replicas 1 --name hello busybox # docker service update --args "ping www.baidu.com" hello # 显示服务详细信息docker service inspect --pretty hello # 易于阅读显示 docker service inspect hello # json格式返回 # 扩展服务实例数docker service…
docker微服务部署之:六.Rancher管理部署微服务 Rancher有两个特色用起来很方便,那就是扩容和缩容. 一.扩容前的准备工作 为了能直观的查看效果,需要修改下demo_article项目的代码. 修改demo_article项目中ArticleController中的三处代码: 1.注入HttpServletRequest:2在findAll()方法的message参数后面加上request.getLocalAddr(),用于显示从调用的是哪个ip的容器的服务:3.注释掉pom中的…
一 deploymentPod升级和回滚 1.1 deployment升级 若Pod是通过Deployment创建的,可以在运行时修改Deployment的Pod定义(spec.template)或镜像名称,并应用到Deployment对象上,系统即可完成Deployment的自动更新操作. 如果在更新过程中发生了错误, 则还可以通过回滚操作恢复Pod的版本. 示例: [root@uk8s-m-01 study]# vi nginx-deployment.yaml apiVersion: app…
一.滚动更新        应用程序一次只更新一小部分副本,更新成功后,再更新更多的副本,最终完成所有副本的更新. 滚动更新的优点:零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 1.创建三个副本Httpd服务,初始镜像为httpd:2.2.31,然后滚动更新至httpd:2.2.32 ###cat httpd.yaml### apiVersion: apps/v1beta2 kind: Deployment metadata: name: httpd spec: replica…
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 源码版本是1.19 Pod 水平自动扩缩 Pod 水平自动扩缩工作原理 Pod 水平自动扩缩全名是Horizontal Pod Autoscaler简称HPA.它可以基于 CPU 利用率或其他指标自动扩缩 ReplicationController.Deployment 和 ReplicaSet 中的 Pod 数量. Pod 水平自动扩缩器由--horizontal-pod-autos…
本篇主要讨论如何实现滚动更新和回滚,任意更换版本并且回滚以前的版本(版本更新),而下一章会讨论到 Pod 缩放,根据机器资源自动拓展和收缩应用(自动扩容实例). 本文为作者的 Kubernetes 系列电子书的一部分,电子书已经开源,欢迎关注,电子书浏览地址: https://k8s.whuanle.cn[适合国内访问] https://ek8s.whuanle.cn [gitbook] 滚动更新和回滚 部署应用 首先我们来部署 nginx,使用 nginx 作为练习的镜像. 打开 https:…
目录 更新 上线 会滚 缩放 Deployment 直接设置 Pod 水平自动缩放 比例缩放 暂停 Deployment 上线 本篇内容讨论 Pod 的更新和回滚,内容不多. 更新 打开 https://hub.docker.com/_/nginx 可以查询 nginx 的镜像版本,我们可以先选择一个旧一点的版本. 首先,我们创建一个 Nginx 的 Deployment,副本数量为 3. kubectl create deployment nginx --image=nginx:1.19.0…
探讨Spring事务控制中,异常触发事务回滚原理.文章进行了6种情况下的Spring事务是否回滚. 以下代码都是基于Spring与Mybatis整合,使用Spring声明式事务配置事务方法. 1.不捕获异常(一般处理方式) 代码,其中contentMappger.updateWithErrTest(31L); 是SQL语句错误,用来测试回滚. /** * 删除多条记录 */ @Override public ShopResult deleteContentGroup(String[] ids)…
前言:上一篇通过rancher管理k8s,部署服务应用扩容,高可用,本篇介绍kubectl命令行部署高可用集群节点,测试升级.扩容等 1.测试环境:3节点k3s,使用其中2节点(ubuntunode1与ubuntunode2),node3暂不用 输入命令,查看节点状况 2.进入任意节点,使用kubectl命令行进行服务部署操作,我们这里用node1节点 新建一个.yaml文件,用于部署2个负载的应用,文件名称:springbootapp-2nodes.yaml 文件内容如下,kind节点使用De…
前言 在搭建k8s集群之前,我们需要先了解下kubectl的使用,以便在集群部署出现问题时进行检查和处理.命令和语法记不住没有关系,但是请记住主要的语法和命令以及帮助命令的使用. 在下一篇,我们将讲述使用Kubeadm来创建k8s集群. 目录 使用kubectl管理k8s集群 概述 语法 主要命令(command)说明 资源类型(TYPE)说明 命令标准(flags)说明 格式化输出 使用kubectl管理k8s集群 概述 Kubectl是一个命令行界面,用于运行针对Kubernetes集群的命…
友好阅读链接:(http://swj.me/2015/08/26/batchPublishtools/) update0918: 修复了创建链接文件时而出错的bug 修复了在24011的警告已处理的情况下,依然出现提示的异常. 将多个脚本文件,压缩成一个脚本文件.压缩后的脚本文件名称为Publishservice.py,使用如下命令执行工具 python Publishservice.py 重新创建了一个repo,更改了脚本git 存放的地址,新地址如下: BathPublishMapServi…
K8S的web管理方式-dashboard 目录 K8S的web管理方式-dashboard 1 部署dashboard 1.1 获取dashboard镜像 1.1.1 获取1.8.3版本的dsashboard 1.1.2 获取1.10.1版本的dashboard 1.1.3 为何要两个版本的dashbosrd 1.2 创建dashboard资源配置清单 1.2.1 创建rbca授权清单 1.2.2 创建depoloy清单 1.2.3 创建service清单 1.2.4 创建ingress清单暴…
@ 目录 概述 定义 为何使用 其他产品 安装 简述 规划 基础环境 Docker安装 Rancher安装 创建用户 创建集群 添加Node节点 配置kubectl 创建项目和名称空间 发布应用 偏好设置 概述 定义 Rancher 官网 https://rancher.com/ Rancher 官网文档 https://rancher.com/docs/ Rancher 最新版本2.6官网文档 https://rancher.com/docs/ Rancher GitHub源码地址 https…