kubernetes入门
2018-05-09 本文已影响100人
平地摔职业选手
之前的测试环境部署时需要分别登录不同的服务器,新的平台为公用一个部署服务器,操作N台机器,按照用户名登录部署服务器,并初始化自己的测试环境,拉取需要的project
kubernetes
Kubernetes(Kubernetes的名字来自希腊语,意思是“舵手” 或 “领航员”。K8s是将8个字母“ubernete”替换为“8”的缩写)是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能
特点
- 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
- 可扩展: 模块化, 插件化, 可挂载, 可组合
-
自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展
(对于测试来说自动部署比较好用)
概念
(这部分有些晦涩难懂,我还没有全部搞清楚,就不总结误导大家了)
- Pod
k8s创建或部署的最小/最简单的基本单位
一个Pod封装一个应用容器(也可以有多个容器),比如docker - Node
- Deployment
- Service
常用命令
#查看服务状态(-o wide可选)
#Pod状态
kubectl -n [virtualenv name] get pods -o wide
#Deployment状态
kubectl -n [virtualenv name] get deployment -o wide
#Service状态
kubectl -n [virtualenv name] get service -o wide
Helm
Helm k8s的一个部署工具,是一个目前比较成熟的部署方案
组成如下:
- helm client
- tiller
概念
- chart
一个chart是一个服务的模板(我们项目中每个git中的project为一个chart)
chart带版本 - release
将chart部署到集群中,就是一次release
release带版本
优点
!!!可回滚 !!!