Kubernetes k8s
k8s简介
谷歌的开源项目,容器自动化部署管理工具.
“k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具”
“首先,他是一个全新的基于容器技术的分布式架构领先方案。
Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。
在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。”[^1]:引用,侵删
简单的命令以及部署属性就可以实现:
自动在在多台服务器上启动多个容器 负载均衡
杀掉容器时 自动选择停掉/杀掉容器
指定需要容器的数量 自动启动容器 分布在多台服务器上启动
可以管理上千万容器服务!!
容器很多/启动容器/运行出错/停掉容器/杀掉容器/重启容器 :手动完成非常困难
缺点:安装/环境搭建/管理维护/集群的管理 复杂,需要强大的Linux运维能力
部署K8s
部署k8s – https://github.com/wz4j/kubeasz
1.准备第一台(控制节点/主节点)服务器--master
上传所有的离线安装文件
安装Ansible工具
(可以连接其他服务器,在多台服务器上执行命令;
可以执行Ansible的自动脚本,来执行一系列命令)
单机模式:
克隆 centos7-1810: k191
设置 ip 192.168.64.191
xshell 和 filezilla 连接 k191 服务器
上传 ansible 文件夹 到/etc/
上传 easzup 文件到 /root/
准备离线环境 (python环境在centos7已经配置)
导入镜像
/************************************************************************************************
可以搭建多台主机的物理集群(多台电脑)
1.虚拟机可以使用桥接网络--可以直接连接到物理网络,获得物理网络ip(NAT虚拟网络 是本机上的虚拟网络)
2.修改网卡的ip设置
vim /etc/sysconfig/network-scrips/ifcfg-ens33
注释掉静态网络 让它自