目录一、k8s 助力 DevOps 在企业落地实践1.1 传统方式部署项目为什么发布慢,效率低?1.2 上线一个功能,有多少时间被浪费了?1.3 如何解决发布慢,效率低的问题呢? 1.4 什么是 DevOps? 1.4.1敏捷开发1.4.2持续集成(CI)1.5.3持续交付1.5.4持续部署二、为什么大厂都在用DevOps?2.1传统软件服务企业的痛点2.2DevOps在金融行业的应用2.3哪些企业在用DevOps?2.4 DevOps在5G领域的的展望三、K8s在DevOps中的核心作用3.1自动化3.2多集群管理3.3多环境一致性3.4实时反馈和智能化报表四、基于Jenkins+K8s
安装K8S集群1设置脚本,镜像源替换为阿里云镜像1.1增加镜像替换脚本注意:请在master机器上执行$touchimages.sh$chmod+ximages.sh添加脚本内容:#!/bin/bashset-xif[$#-ne1];thenecho"Theformatis:./`basename$0`kubernetes-version"exit1fiversion=$1images=`kubeadmconfigimageslist--kubernetes-version=${version}|awk-F'/''{print$2}'`forimageNamein${images[@]};do
1、在k8s上部署redis单机1.1、redis简介redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者SalvatoreSanfilippo在2009年发布,使用C语言编写;redis是基于内存存储,而且是目前比较流行的键值数据库(key-valuedatabase),它提供将内存通过网络远程共享的一种服务,提供类似功能的还有memcache,但相比memcache,redis还提供了易扩展、高性能、具备数据持久性等功能。主要的应用场景有session共享,常用于web集群中的tomcat或PHP中多web服务器的session共享;消息队列,ELK
什么是StatefulSet?是用来创建有状态应用,可以通过过某种方式记录这些状态,然后在Pod被重新创建时,能够为新Pod恢复这些状态。什么是有状态应用?首先是需要有数据的持久化,及时Pod被重启后,也能恢复,与重启前保持一致。然后是应用创建的所有pod有依赖关系,顺序的创建、需要运行在指定的宿主机上,并且都有对应的网络标志。应用场景?分布式应用,它的多个实例之间,往往有依赖关系,比如:主从关系、主备关系。使用StatefulSet创建StatefulSet创建yaml文件定义StatefulSet对象如下,与Deployment比较,多了一个serviceName字段,这个是用来指定Sta
k8s搭建使用kubeadm搭建centos7docker-cekubenetes1.18.2升级内核(非必要)1.设置主机名hostnamectlset-hostnamemasterhostnamectlset-hostnamenode12.关闭防火墙、selinux、swapsystemctldisablefirewalld--nowsetenforce0sed-i“s/^SELINUX=enforcing/SELINUX=disabled/g”/etc/selinux/configswapoff-aecho“vm.swappiness=0”>>/etc/sysctl.confsed-i‘
1应用场景场景:在实际工作中,可能某个Master节点需要维护,迁移,我们需要平滑的停止、启动该节点,尽量减少启停中对集群造成的影响注意:为了确保K8s集群能够安全恢复,请在操作前对K8s数据进行备份为了确保重启Master节点期间K8s集群能够使用,集群中Master节点数量要大于等于3若启停的Master节点上有etcd服务,在启停该Master节点期间,请勿对集群资源进行任何操作,包括添加、更新、删除等,否则会导致启停节点的etcd数据失效2操作步骤2.1备份数据略,后续补充2.2停止Master节点调度#查看信息kubectlgetnode#停止Master节点调度,停止后,上面已经运
拉取私有仓库镜像配置当我们制作好一个镜像后,我们可以传到公共镜像仓库,供所有人拉取使用,不需要指定拉取镜像的用户、密码。我们也可以将镜像推送到自己搭建的镜像库,比如harbor镜像仓库中,如果我们在镜像仓库中的项目是公开项目,拉取镜像也是不要用户名、密码的。但如果是私有项目,则需要指定用户名、密码才能拉取。下面将介绍两种方式通过用户名、密码拉取私有镜像制作拉取镜像secret不论是何种姿势拉取私有镜像,都需要先创建拉取镜像的secret。创建拉取镜像secret有两种方式,如下1.根据config.json文件生成secretdockerlogin登录到镜像需要推到的目标仓库,此时在本地/ro
目录一、背景二、持续集成三、K8S架构1、核心组件2、分层结构3、核心能力3.1发现与负载3.2调度3.3自动伸缩四、应用案例1、服务部署2、交互流程五、参考源码整体上理解流程和原理;一、背景基于分布式的架构中,需要管理的服务是非常多的,无论是服务的数量还是体系划分;从服务的能力上看,可以进行分层管控,只是其中有相当一部分服务层,改动更新的频率很低,所以感知也不明显;就以自己当下参与研发的系统来说;通过K8S进行管理的服务近百个,这中间有部分服务采用集群模式,即便是这个规模的系统,也几乎不可能依赖纯人工运维的形式,自动化流程必不可少;二、持续集成此前围绕该主题写过一个完整的实践案例,主要围绕J
一、背景基于分布式的架构中,需要管理的服务是非常多的,无论是服务的数量还是体系划分;从服务的能力上看,可以进行分层管控,只是其中有相当一部分服务层,改动更新的频率很低,所以感知也不明显;就以自己当下参与研发的系统来说;通过K8S进行管理的服务近百个,这中间有部分服务采用集群模式,即便是这个规模的系统,也几乎不可能依赖纯人工运维的形式,自动化流程必不可少;二、持续集成此前围绕该主题写过一个完整的实践案例,主要围绕Jenkins、Docker、K8S等组件的使用层面,总结源码编译、打包、镜像构建、部署等自动化管理的流程;Jenkins:是一个扩展性非常强的软件,用于自动化各种任务,包括构建、测试和
1、Zookeeper简介zookeeper是一个开源的分布式协调服务,由知名互联网公司Yahoo创建,它是Chubby的开源实现;换句话讲,zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于它实现数据的发布/订阅、负载均衡、名称服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列;2、PV/PVC及zookeeper3、构建zookeeper镜像3.1、下载java环境基础镜像,将对应镜像修改本地harbor地址上传至harbor3.2基于java环境基础镜像,构建zookeeper镜像root@k8s-master01:~/k8s-data/