云原生简介
云原生架构是一种基于云计算的应用程序架构和开发方法论,旨在充分发挥云计算平台的优势,提高应用程序的可伸缩性、弹性和可靠性。它强调将应用程序设计为微服务、采用容器化部署、自动化管理和持续交付,以实现快速迭代、高效部署和可靠运行。
云原生架构的关键特点包括:
- 微服务架构:将应用程序拆分为多个独立的、自治的微服务,每个微服务负责特定的业务功能,并可以独立开发、部署和扩展。微服务之间通过轻量级的通信机制进行交互,例如RESTful API或消息队列。
- 容器化部署:使用容器技术(如Docker)将每个微服务及其依赖项打包成独立的可移植单元。容器提供了环境隔离、一致性和可移植性,使得应用程序可以在不同的环境中轻松部署和运行。
- 自动化管理:利用自动化工具和平台来管理应用程序的部署、配置、扩缩容、监控和治理等任务。自动化减少了人为操作的错误和复杂性,提高了开发和运维的效率。
- 弹性和可伸缩性:云原生架构倡导根据需求动态调整应用程序的资源,实现弹性和可伸缩性。通过自动化的资源管理和负载均衡,应用程序可以根据实际负载进行水平扩展或收缩,以满足用户需求并提供良好的性能。
- 持续交付:采用持续集成和持续部署(CI/CD)的工作流程,实现快速、可靠的应用程序交付。开发团队可以频繁地进行代码集成、构建、测试和部署,以快速响应需求变化,并确保软件质量和稳定性。
云原生架构的平台工具
工具 | 安装方式 |
主机地址 |
GitLab | centos7.9 | GitLab主机 |
Jenkins | centos7.9 | Jenkins主机 |
Harbor | centos7.9 | Harbor主机 |
Rancher | centos7.9 | Rancher主机 |
Kubernetes + KubeCtl |
centos7.9 | 2主 2从 4etcd |
ArgoCD | centos7.9 | ArgoCD主机 |
Keepalived | centos7.9 | Keepalived主机 |
nginx | centos7.9 | Keepalived主机 |
Keepalived安装
一、环境准备
# 虚拟ip(VIP):192.168.19.200,对外提供服务的ip,也可称作浮动ip
192.168.19:232 主
192.168.19:233 备
二、安装步骤
# 安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
#下载压缩包
wget www.keepalived.org/software/keepalived-1.3.5.tar.gz
#解压缩
tar -zxvf keepalived-1.3.5.tar.gz
#进入解压缩以后的文件目录:
cd keepalived-1.3.5
yum -y install libnl libnl-devel
yum install -y libnfnetlink-devel
#再次执行
./configure --prefix=/usr/local/keepalived
make && make install
到此keepalived安装完成,但是接下来还有最关键的一步,如果这一步没有做后面启动keepalived的时候会报找不到配置文件的错误
Configuration file '/etc/keepalived/keepalived.conf' is not a regular non-executable file
安装完成后,进入安装目录的etc目录下,将keepalived相应的配置文件拷贝到系统相应的目录当中。keepalived启动时会从/etc/keepalived目录下查找keepalived.conf配置文件
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived
修改keepalived主节点192.168.19.232的/etc/keepalived/keepalived.conf配置文件
#全局配置
global_defs {
router_id nginx_master #表示运行Keepalived服务器的一个标识,唯一的
}
vrrp_instance VI_1 {
state MASTER # 指定keepalived的角色,MASTER为主,BACKUP为备
interface ens192 # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡
virtual_router_id 66 # 虚拟路由编号,主从要一直
priority 100 # 优先级,数值越大,获取处理请求的优先级越高
advert_int 1 # 检查间隔,默认为1s(vrrp组播周期秒数)
#授权访问
authentication {
auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
auth_pass 1111
}
virtual_ipaddress {
192.168.19.200 # 定义虚拟ip(VIP),可多设,每行一个
}
}
修改keepalived从节点192.168.19.233的/etc/keepalived/keepalived.conf配置文件
global_defs {
router_id nginx_backup #表示运行Keepalived服务器的一个标识,唯一的
}
vrrp_instance VI_1 {
state BACKUP # 指定keepalived的角色,MASTER为主,BACKUP为备
interface ens192 # 当前进行vrrp通讯的网络接口卡(当前