K8S介绍
1、故障迁移:当某一个node节点关机或挂掉后,node节点上的服务会自动转移到另一个node节点上,这个过程所有服务不中断。这是docker或普通云主机是不能做到的
2、资源调度:当node节点上的cpu、内存不够用的时候,可以扩充node节点,新建的pod就会被kube-schedule调度到新扩充的node节点上
3、资源隔离:创建开发、生产、测试三个命名空间,切换上下文后,开发人员就只能看到开发命名空间的所有pod,看不到生产命名空间的pod,这样就不会造成影响,互不干扰,传统的主机或只有容器环境中,登录进去就会看到所有的服务或者容器
4、因为采用容器技术,进程之间互不影响,
5、安全:不同角色有不同的权限,查看pod、删除pod等操作;RBAC认证增加了k8s的安全,快速精准地部署应用程序
Kubernetes的优势
- 可移动:公有云、私有云、混合云、物理机
- 可扩展:模块化、插件化、可挂载、可组合
- 自修复:自动部署、自动重启、自动复制、自动伸缩
负载均衡
k8s可以更快的更新新版本,打包应用,更新的时候可以做到不用中断服务,服务器故障不用停机,从开发环境到测试环境到生产环境的迁移极其方便,一个配置文件搞定,一次生成image,到处运行
k8s安装方式
rancher
优点
平台部署方便。管理容器的平台本身也基于容器部署。只要你有容器,非常简单就完成平台的部署。
平台扩展方便。通过agent机制,一句docker命令完成agent部署,快速增加你的物理机。同时也支持云主机。
服务部署方便。通过应用商店,可以迅速完成应用部署,而且还是像docker-compose那样各个中间件独立编排,可以随时扩容的。
自带账户权限。相比K8s没有账号管理,rancher自带账号权限体系。账号可以独立创建,也可以很方便地接入账号体系。对于公司使用是一大利器。
对开发究极友好。
缺点
容器管理容器:不方便排查问题,不方便维护
启动集群的速度慢
kubeadm
优点
平台部署方便,管理容器的平台本身也基于容器部署。只要你有容器,非常简单就完成平台的部署。
平台扩展方便
缺点
容器管理容器:不方便排查问题,不方便维护
启动集群缓慢
证书1年有效期
二进制
优点
用服务来管理容器:组件直接运行在宿主机系统中启动集群的速度快
证书有效期可以很长
可扩展性非常高
方便排查集群问题
缺点
部署难度大
部署步骤多、
rancher部署
docker run -d --privileged -p 80:80 -p 443:443 --name rancher-v2.5.2 rancher/rancher:v2.5.2-linux-amd64
docker ps [-a] 查看运行的容器
docker log 容器id或容器名 查看docker容器的日志
docker rm 容器id或容器名 删除容器
创建环境
无法运行则对docker缓存进行清理
echo 3 >/proc/sys/vm/drop_caches
添加从节点
创建服务
创建服务与deployment关联