博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

K8S基础 - 01介绍

Posted on 2021-11-15 22:20  Kingdomer  阅读(36)  评论(0编辑  收藏  举报

K8S基础 - 01介绍

一、发展历程

1.1 Ansible
1.2 Docker
  • docker compose, docker swarm, docker machine
  • mesos, marathon
  • kubernetes

1.3 DevOps, MicroServices, Blockchain

  • CI: 持续集成
  • CD: 持续交付, Delivery
  • CD: 持续部署, Deployment

二、Kubernetes

2.1 Borg,  舵手、飞行员

  • 自动装箱, 自我修复, 水平扩展, 服务发现和负载均衡, 自动发布和回滚
  • 密钥和配置管理, 存储编排, 批量处理执行
  • 调度、优选、状态探测、controller manager、sidecar、 selector

2.2 openshift

三、Kubernetes集群

3.1 master/node
  • master: API Server, Scheduler, Controller-Manager
  • node: kubelet, docker, ...
3.2 Pod, Label, Label Selector
  • Label: key=value
  • Label Selector:
3.3 Pod: 最小的部署单元、 一组容器的集合、共享网络、生命周期是短暂的
  • 自主式Pod
  • 控制器管理的Pod:  确保预期的Pod副本数量
    • ReplicationController
    • ReplicaSet
    • Deployment:   无状态应用部署
    • StatefulSet:  有状态应用部署
    • DaemonSet:    确保所有的node节点运行一个
    • Job,Cronjob:  一次性任务和定时任务
  • HPA: HorizontalPodAutoscaler
3.4 Service: 定义一组Pod的访问规则
  • 靠标签进行选择
3.5 AddOns: 附件
  • NMT
  • Overlay Network, 叠加网络ETCD 集群
    • 同一个Pod内的多个容器间: lo
    • 各Pod之间的通信
  • CNI
    • flannel: 网络配置
    • calico: 网络配置,网络策略
    • canel:

 

四、部署方式

单master集群、多master集群(带负载均衡)

二进制包
kubeadm
minikube
Kops