草庐IT

K8s 滚动升级与回退

目录前言一、升级二、回滚前言RollingUpdate即滚动更新,先更新一部分副本,成功后再继续更新更多副本,最终完成所有的副本更新。前面说到动态伸缩容并不会触发上线,仅当DeploymentPod模板(即.spec.template)发生改变时才会触发上线。且上线实现了滚动特点,其好处就是无需停服的状态下即可完成服务升级,从而保证了业务的连续性。接下来以更新Nginx容器镜像的版本号为例进行演示与验证。一、升级刚刚把副本数从2——>3,执行kubectlapply-fnginx.yml启动服务,可看到并没有触发上线/滚动更新:接着修改镜像的版本号,从1.20.0——>1.21.4:再次启动服

K8s 滚动升级与回退

目录前言一、升级二、回滚前言RollingUpdate即滚动更新,先更新一部分副本,成功后再继续更新更多副本,最终完成所有的副本更新。前面说到动态伸缩容并不会触发上线,仅当DeploymentPod模板(即.spec.template)发生改变时才会触发上线。且上线实现了滚动特点,其好处就是无需停服的状态下即可完成服务升级,从而保证了业务的连续性。接下来以更新Nginx容器镜像的版本号为例进行演示与验证。一、升级刚刚把副本数从2——>3,执行kubectlapply-fnginx.yml启动服务,可看到并没有触发上线/滚动更新:接着修改镜像的版本号,从1.20.0——>1.21.4:再次启动服

K8S+Jenkins+Harbor+Docker+gitlab集群部署

K8S+Jenkins+Harbor+Docker+gitlab服务器集群部署所需资源下载地址将此文章写给我最心爱的女孩目录K8S+Jenkins+Harbor+Docker+gitlab服务器集群部署1.准备以下服务器2.所有服务器统一处理执行2.1关闭防火墙2.2关闭selinux2.3关闭swap(k8s禁止虚拟内存以提高性能)2.4更新yum(看需要更新)2.5时间同步2.6安装wget、vim2.7更新Docker的yum源2.8查看Docker版本2.9下载docker2.10进入/etc目录创建docker目录2.11配置国内镜像加速器2.12docker自动启动2.13启动do

K8S+Jenkins+Harbor+Docker+gitlab集群部署

K8S+Jenkins+Harbor+Docker+gitlab服务器集群部署所需资源下载地址将此文章写给我最心爱的女孩目录K8S+Jenkins+Harbor+Docker+gitlab服务器集群部署1.准备以下服务器2.所有服务器统一处理执行2.1关闭防火墙2.2关闭selinux2.3关闭swap(k8s禁止虚拟内存以提高性能)2.4更新yum(看需要更新)2.5时间同步2.6安装wget、vim2.7更新Docker的yum源2.8查看Docker版本2.9下载docker2.10进入/etc目录创建docker目录2.11配置国内镜像加速器2.12docker自动启动2.13启动do

k8s环境jenkins发布vue项目指定nodejs版本

k8s环境jenkins发布vue项目指定nodejs版本1、背景2、分析3、解决方法3.1、找到配置镜像位置3.2、制作新镜像3.3、推送镜像到私有仓库3.4、修改配置文件1、背景发布一个前端项目,它需要nodejs16.9.0版本支持,而kubesphere3.2.0集成的jenkins的镜像只支持nodejsv10.16.3该项目基于的环境是k8s1.23.4,docker20.10.12.vue2.72、分析JenkinsKubernetes插件kubesphere平台安装了jenkins,基于JenkinsKubernetes插件,自动化在Kubernetes中运行的Jenkins-

Gbase8s 如何成为一个更高效的oltp系统

众所周知,用户的关键业务系统,特别是OLTP系统,都要求提供24X7不间断的应用服务,这就要求数据库系统能够提供强大的高可用能力。而GBase8s的目标是实现一个具有完善的事务处理能力的高性能的面向联机事务处理应用的安全数据库系统。因此,在保证系统安全性的前提下,还需要尽可能的提高数据库系统的性能,GBase8s在实现上采用了如下六种机制来实现高性能:1.高效的文件空间和磁盘管理GBase8s通过建立多个磁盘I/O线程模拟异步的磁盘I/O来构建和读写数据库文件,并且I/O线程的数目是可配置的,它和后面提到的工作者线程是被分开管理的,并且专用于磁盘I/O操作。在磁盘操作上采用了两种成熟的启发式预

k8s svc通过externalIPs并结合Keepalived对外暴露服务

Kubemetes的Service需要对集群外暴露,可以通过NodePort、Ingress和LoadBalancer,其中NodePort:需要预先知道k8s集群节点的IP地址,在使用时需指定node的ip(这样配置存在单点故障);Ingress:实现的是HTTP(S)负载均衡器,只能代理七层;LoadBalancer:需要通过云服务商提供的负载均衡器将服务暴露到集群外部。在非公有云环境的k8s集群上,ClusterIp类型的Service可通过externalIPs设置一个外部的IP地址,并且将流量导入到集群内部。externalIps(外部IP)要求是至少能路由到一个k8s节点上。即如果

集群外部署 Prometheus 监控 k8s

一、部署规划1、一台普通的机器 192.168.18.9 2、k8s集群一台master节点 192.168.18.7二、二进制部署Prometheus (192.168.18.9)下载并解压cd/opt/wgethttps://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gztarxvfprometheus-2.37.0.linux-amd64.tar.gz创建软连接ln-sv/opt/prometheus-2.37.0.linux-amd64/opt

k8s单机版使用本地存储local-path-provisioner

在k8s单机环境中,我们经常使用本机路径作为持久化存储。在k8s官方文档中有两种方式使用本机存储,一种是hostPath,另一种是localvolume,这两种都不支持动态扩容,并且程序移植改动比较大,而local-path-provisioner很好的弥补了这一缺陷local-path-provisioner常见的有两个仓库rancher版https://github.com/rancher/local-path-provisionerkubernetes-sigs版https://github.com/kubernetes-sigs/sig-storage-local-static-pro

Amazon Linux2使用kubeadm部署安装K8S集群

环境信息在AWS上启动3台AmazonLinux2的服务器,服务器配置为2vcpu和2GB内存部署K8S集群1.修改主机名(可选步骤)sudohostnamectlset-hostnamemaster2.导入k8s的yum仓库密钥sudorpm--importhttps://packages.cloud.google.com/yum/doc/yum-key.gpg3.配置kubernetes源cat4.部署安装kubeadm、kubectl、docker,并且启动dockersudoyuminstall-ykubeadmkubectldockersudosystemctlenabledocke