1. devops核心要点及kubernetes架构
[TOC]
本文基于马哥的docker和k8s视频总结, 在此致谢马哥.
docker编排工具:
- docker compose (单机编排工具), docker swarm (docker多机编排工具)
- docker machine: 让主机迅速满足加入docker swarm (docker 集群)的先决条件的工具
- mesos, marathon
- kubernetes
devops:
- CI: 持续集成
- CD: 持续交付, develivery
- CD: 持续部署, development
k8s
kubernete: 舵手, 飞行员
-
可理解为集群
-
master (一般大于等于3个) / node (worker)架构
-
master上的组件:
- (1) API server (负责接收客户端的发来的任务)
- (2) scheduler (负责将任务调度到最适合的node上)
- (3) control-manager (控制器管理器: 负责监控控制器的状态, 控制器: 用来监控node的节点状态)
-
node上的组件:
- (1) kubelet (负责执行scheduler发来的任务, 例如启动pod, 管理pod健康, 在本地创建存储卷等)
- (2) docker (容器引擎, 负责运行容器)
- (3) kube-proxy (负责管理service的变动, 反映到iptables或ipvs上)
-
k8s调度的最小单元: pod (包含多个container)
- 每个pod都有label, label需要label selector(标签选择器)进行筛选
Pod分类:
- 自主式Pod
- 控制器管理的Pod (replication controller: 副本控制器)
k8s网络架构: 有3类网络(节点网络, pod网络, service网络)
k8s网络.png有网络名称空间的概念
k8s资源类型和缩写
资源类型 | 缩写 | 描述 |
---|---|---|
clusters | ||
componentstatuses | cs | |
configmaps | cm | |
daemonsets | ds | |
deployments | deploy | |
endpoints | ep | |
event | ev | |
horizontalpodautoscalers | hpa | |
ingresses | ing | |
jobs | ||
limitranges | limits | |
namespaces | ns | |
networkpolicies | ||
nodes | no | |
statefulsets | ||
persistentvolumeclaims | pvc | |
persistentvolumes | pv | |
pods | po | |
podsecuritypolicies | psp | |
podtemplates | ||
replicasets | rs | |
replicationcontrollers | rc | |
resourcequotas | quota | |
cronjob | ||
secrets | ||
serviceaccount | sa | |
services | svc | |
storageclasses | ||
thirdpartyresources |
网友评论