概念
1. Kubernetes简介
Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括:
- 基于容器的应用部署、维护和滚动升级
- 负载均衡和服务发现
- 跨机器和跨地区的集群调度
- 自动伸缩
- 无状态服务和有状态服务
- 广泛的 Volume 支持
- 插件机制保证扩展性
Kubernetes 发展非常迅速,已经成为容器编排领域的领导者。
2. Kubernetes核心组件
Kubernetes 主要由以下几个核心组件组成:
- etcd 保存了整个集群的状态;
- apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
- controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
- scheduler 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
- kubelet 负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
- Container runtime 负责镜像管理以及Pod和容器的真正运行(CRI);
- kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡
3. Kubernetes基本概念
Cluster
集群是指由Kubernetes使用一系列的物理机、虚拟机和其他基础资源来运行你的应用程序
Node
一个node就是一个运行着Kubernetes的物理机或虚拟机,并且pod可以在其上面被调度
Pod
一个pod对应一个由相关容器和卷组成的容器组
Label
一个label是一个被附加到资源上的键/值对,譬如附加到一个Pod上,为它传递一个用户自定的并且可识别的属性。Label还可以被应用来组织和选择子网中的资源
selector
是一个通过匹配labels来定义资源之间关系得表达式,例如为一个负载均衡的service指定所目标Pod
Replication Controller
replication controller是为了保证一定数量被指定的Pod的复制品在任何时间都能正常工作。它不仅允许复制的系统易于扩展,还会处理当pod在机器在重启或发生故障的时候再次创建一个
Service
一个service定义了访问pod的方式,就像单个固定的IP地址和与其相对应的DNS名之间的关系
Volume
一个volume是一个目录,可能会被容器作为未见系统的一部分来访问。Kubernetes volume 构建在Docker Volumes之上,并且支持添加和配置volume目录或者其他存储设备
Secret
Secret存储了敏感数据,例如能允许容器接收请求的权限令牌
Name
用户为Kubernetes中资源定义的名字
Namespace
Namespace 好比一个资源名字的前缀。它帮助不同的项目、团队或是客户可以共享cluster,例如防止相互独立的团队间出现命名冲突
Annotation(注解)
相对于label来说可以容纳更大的键值对,它对我们来说可能是不可读的数据,只是为了存储不可识别的辅助数据,尤其是一些被工具或系统扩展用来操作的数据
二、kubectl命令
kubectl是Kubernetes里的命令行接口,用它来控制Kubernetes集群。
Kubectl的子命令主要分为8个类别:
- 基础命令(初学者都会使用的)
- 基础命令(中级)
- 部署命令
- 集群管理命令
- 故障排查和调试命令
- 高级命令
- 设置命令
- 其他命令
熟悉这些命令有助于大家来操作和管理kubernetes集群。
三、资料分享
网站博客
1.Kubernetes官网
2.Kubernetes Documentation
3.Kubernetes中文社区
4.源码
5.Kubernetes(K8S)中文文档
6.每天5分钟玩转Kubernetes
7.Kubernetes 指南
kubectl参考资料:
1.https://www.bookstack.cn/read/Kubernetes-zh/66.md
2.https://cheatsheet.dennyzhang.com/cheatsheet-kubernetes-a4
3.https://kubernetes.io/docs/reference/kubectl/kubectl/
4.https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get
5.https://feisky.gitbooks.io/kubernetes/components/kubectl.html?h=kubectl
书籍
1.《Kubernetes权威指南 从Docker到Kubernetes实践全接触》
2.《Kubernetes in Action中文版》
3.《kubernetes-chinese-docs》
4.《Kubernetes进阶实战》
5.《kubernetes手册2017最新版》
6.《基于Kubernetes的容器云平台实战》
7.《Docker 容器与容器云(第2版)》
8.《Kubernetes指南》
下载链接:https://pan.baidu.com/s/1YsA2-X1h0mFQ3rX6tb8WOg
提取码:b7f1
原文地址:https://blog.51cto.com/3241766/2413457