Kubernetes 概述
什么是K8s
Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It har a large , rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署 ,自动扩容缩容 ,维护等功能;
使用 Kubernetes 的好处
- 快速部署应用
- 快速扩展应用
- 无缝对接新的应用功能
- 节省资源, 优化硬件资源的使用
K8s 能做什么
Kubernetes has a number of features. It can be thought of as:
- a container orchestration platform
- a microservices platform(微服务)
- a portable cloud platform and a lot more.
Kubernetes 不是什么
Kubernetes 并不是传统的 Paas (平台即服务) 系统; <Platform-as-a-Service: 把应用服务的运行和开发环境作为一种服务提供的商业模式>
- Kubernetes 不限制支持应用的类型, 不限制应用框架, 但限制受支持的语言 runtimes;
- Kubernetes 不提供中间件, 数据处理框架, 数据库或者集群存储系统 ( 如 Ceph ) 作为内置服务;
- Kubernetes 不部署源码不编译应用;
- Kubernetes 允许用户选择自己的日志, 监控 和 报警系统;
- Kubernetes 不提供或授权一个全面的应用程序配置 语言/系统;
- Kubernetes 不提供任何机器配置, 维护, 管理 或者 自修复系统.
Kubernetes 的部署方式
- Minikube, 官网上即可使用, 微型伪分布式, 适合学习 , 体验; https://kubernetes.io/docs/tutorials/hello-minikube 选择 " Launch Terminal "
- Kubeadmin, 适合实验环境使用, 暂时无法做到 Master 节点高可用[ 自签证书只是一年有效期, K8s会宕了 ];
- 二进制部署方式, 相对复杂, 适合生产环境投产使用.
在企业中落地 Kubernetes 集群需要解决哪些问题
- 交付到 kubernetes 集群的程序/服务如何对外提供服务 ?
- 容器跨宿主机如何通信 ?
- Kubernetes 监控和日志收集问题如何解决 ?
- 基于 Kubernetes 的 CI 和 CD 怎么做 ?
- CI(CONTINUOUS INTEGRATION 持续集成)
- 在持续集成环境中, 开发人员将会频繁的提交代码到主干. 这些新提交在最终合并到主线之前, 都需要通过编译和自动化测试流进行验证. 这样做基于之前持续集成过程中很重视自动化测试验证结果, 以保障所有的提交在合并主线之后的质量问题, 对可能出现的一些问题进行预警;
- CD(CONTINUOUS DELIVERY 持续交付)
- 持续交付就是将我们的应用发布出去的过程, 这个过程可以确保我们尽可能快的实现交付. 这就意味着除了自动化测试, 我们还需要有自动化的发布流, 以及通过一个按键就可以随时随地实现应用部署上线;
- 通过持续交付, 可以决定每天, 每周, 每两周发布一次, 这完全可以根据自己的业务进行设置;
- CI(CONTINUOUS INTEGRATION 持续集成)
- 如何平滑迁移服务到 kubernetes 集群 ?
作者:TZHR —— 世间一散人
出处:https://www.cnblogs.com/haorong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明