K8s概述
k8s全称kubernetes,这个名字大家应该都不陌生,k8s是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱k8s,并且当前k8s已经主导了云业务流程,推动了微服务架构等热门技术的普及和落地,正在如火如荼的发展。
那么,K8S实现了什么?
从架构设计层面,我们关注的可用性,伸缩性都可以结合k8s得到很好的解决,如果你想使用微服务架构,搭配k8s,真的是完美,再从部署运维层面,服务部署,服务监控,应用扩容和故障处理,k8s都提供了很好的解决方案。
具体来说,主要包括以下几点:
- 服务发现与调度
- 负载均衡
- 服务自愈
- 服务弹性扩容
- 横向扩容
- 存储卷挂载
总而言之,k8s可以使我们应用的部署和运维更加方便。
二、 K8s的集群架构
- 主节点,承载 k8s 的控制和管理整个集群系统的控制面板
- 工作节点,运行用户实际的应用
三、 使用Rancher部署k8s
Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件。
Rancher2.0基于Kubernetes构建,使用Rancher,DevOps团队可以轻松测试、部署和管理应用程序,运维团队可以部署、管理和维护一切Kubernetes集群,无论集群运行在何基础设施之上。
K8S集群部署
登录进来之后,点击添加集群,选择添加主机自建kubernetes集群:
选择集群选项:
点击下一步之后,勾选集群角色,这里我就在一台机器上部署集群,所以全部勾选:
复制下方命令,在集群对应角色的机器上执行。
执行完之后,页面会出现注册成功的提示:
此时集群正处于准备状态中等待一段时间集群自动搭建完成:
等待一段时间集群自动搭建完成,显示为active状态集群就搭建完成:
查看集群状态:
点击执行kubectl命令行:
1. # Run kubectl commands inside here 2. # e.g. kubectl get all 3. > kubectl get node 4. NAME STATUS ROLES AGE VERSION 5. localhost Ready controlplane,etcd,worker 5h36m v1.17.17 6. >
查看集群主机:
角色配置一目了然,查看项目及命名空间:
在商店中部署NFS
打开应用商店并点启动:
启动nfs-provisioner
启动完成后,应用列表中显示Active
手动部署其他应用(也可以手动直接使用docker pull其他镜像)
打开部署服务
添加数据卷,选前面安装的NFS服务并配置容量及容器与主机的映射路径:
填好相关参数之后,点击启动: