duiniwukenaihe SRE Engineer(target)

kubernetes secure Architecture- kuberntes安全架构

2021-02-04
duiniwukenaihe
cks

  • content {:toc

1. docker Architectureimage.png

1. run container in container engine-在容器引擎中运行容器
2. Schedule containers effcient-高效的调度容器
3. Keep containers  alive and  health- 保持容器的存活和健康
4. Allow container communication- 允许容器的通信
5. Allow  common deployment techniques-允许通用的部署技术
6. handle volumes-处理卷

2. kubernetes Architectureimage.png

2.1 Contarol Plance

Contarol Plance-控制平面,简单的不知道我理解的对不对为master节点上面的etcd scheduler apiserver controler manager 。至于cloud control manager我理解是使用云商托管的kubernets 比如腾讯云的 cke还有阿里云的ack 都有类似的kubernets的托管服务。

见: https://kubernetes.io/docs/concepts/overview/components/#control-plane-components

1. kube-apiserver apiserver

控制平面暴露kubernets的api服务,API服务器是Kubernetes控制平面的前端。 水平扩展 平衡实例之间流量

2. etcd etcd数据库

Consistent and highly-available key value store used as Kubernetes’ backing store for all cluster data 高度一直的kv键值数据库。用作kubernetes的备份与数据存储。

3. kube-scheduler 调度器

监视没有分配节点的新创建的Pod,并选择一个节点以使其运行。调度策略有很多种,官网现学现卖:

     1. individual and collective resource requirements  个体和集体的资源需求
     2. hardware/software/policy constraints 硬件/软件/策略约束
     3. affinity and anti-affinity specifications 亲和性和反亲和力规范
     4. data locality  数据本地性
     5. inter-workload interference  工作负载之间的干扰
     6. deadlines  生存周期

4. kube-controller-manager

Control Plane component that runs controller processes. 控制平面运行控制的进程

  • 节点控制器:负责在节点出现故障时进行通知和响应。
  • 复制控制器:负责为系统中的每个复制控制器对象维护正确数量的Pod。
  • 端点控制器:填充“端点”对象(即,加入“服务和窗格”)。
  • 服务帐户和令牌控制器:为新的名称空间创建默认帐户和API访问令牌

    5. cloud-controller-manage

    云控制器暂时忽略吧,一般的还接触不到的
    

2.2. Data Plane

Data Plane—–数据平面 。一般理解为work节点 工作节点?主要有kubelet 和kube-proxy服务

1. kubelet

在集群中每个节点上运行的代理。 确保容器在Pod中运行。维护节点上的网络规则.如果有kube-proxy可用,它将使用操作系统数据包过滤层。 否则,kube-proxy会转发流量本身

2. kube-proxy

kube-proxy是一个网络代理,它在集群中的每个节点上运行,实现了Kubernetes Service概念的一部分。

3. Container runtime

容器运行时是负责运行容器的程序。 Kubernetes支持多种容器运行时:Docker,Containerd,CRI-O以及Kubernetes CRI(容器运行时接口)的任何实现形式。

3. Addons 组件扩展

注: 插件的命名空间资源属于kube-system命名空间

1. dns  域名解析服务
2. Dashboard  webui 仪表盘
3. Container Resource Monitoring 容器资源的监控
4. Cluster-level Logging  集群级别的日志

4. 关于pod之间的通信

注: 默认是全部可以通信的,当然了 可以通过networkpolicy等方式进行隔离 image.png

5. PKI (Public Key Infrastructure 公共密钥基础设施)

1 . 关于pki的CA

注: 关于ca学习的不是太透彻,有时间单独的好好学习一下 image.png

1.  CA  is the trusted root of all certificates inside the cluster  CA是群集内所有证书的受信任根
2.  All cluster ertificates are signed by the CA  所有集群的证书都由CA签名
3. .Used by components to validate each other  组件用来相互验证

image.png image.png

2. Find various K8s certificates

image.png

image.png 关于Scheduler->Api 和controller-manage->Api 和 kubelet->Api 还有 kubelet server cert image.png

image.png image.png image.png


Similar Posts

Comments