k8s笔记

k8s特点

轻量级,消耗资源小
开源
弹性伸缩
负载均衡

borg系统组成原理

k8s架构


重要的组件:
APISERVER: 所有服务访问统一入口
ConrtollerManager: 控制器,维持副本期望数目
Scheduler: 负责介绍任务,选择合适的节点进行分配任务
ETCD: 键值对数据库,存储k8s集群所有的重要信息(持久化)
Kubelet: 直接跟容器引擎交互实现容器生命周期管理
Kube-proxy: 负责写入规则至iptables,ipvs 实现服务映射访问
coredns: 可以为集群中的svc创建一个域名ip对应关系解析
dashboard: 给k8s集群提供一个BS结构的访问体系
ingress controller: 官方只能实现4层代理,ingress可以实现七层代理
pedetation: 提供一个可以跨集群中心多k8s统一管理功能
prometheus: 提供k8s集群监控能力
elk: 提供集群日志统一平台

etcd

pod: 分为被控制器管理的pod和自主式的pod

同一个pod中的容器共享存储和网络

pod中只要有一个容器都会启动


网络通讯模式









***



资源清单


yaml文件

以下属性是必须要存在

样例:

容器生命周期


就绪检测: 当容器是就绪状态,就是可以被外界访问,但是业务功能还没有启动

Init容器



在初始化容器中增加init容器,增加脚本,检测当容器能正常访问后才退出初始化过程


探针

容器探针

探测方式


就绪检测样例

存活检测样例

启动退出操作

滚动更新

Service


只要有SVC,当pod增加或者减少,都不需要修改前端的nginx配置

Service的四种类型

  • ClusterIp模式:
  • NodePort: 在ClusterIp的基础上为Service每台机器绑定一个端口,这样可以通过NodePort来访问该服务
  • LoadBalancer: 在NodePort基础上,借助cloud provider创建一个外部负载均衡,请并将请求转发到NodePort,这个均衡器一般可以借助云均衡器
  • ExternalName: 把集群外部的服务引入到集群内部来,在集群内部直接使用,没有任何类型代理被创建

Service服务


四种存储类型

1.configMap

2.Secret:需要加密的信息

3.volume

4.Persistent Volume

调度器


节点亲和性


污点和容忍



固定节点


安全性


认证方式:

双向https认证:

Helm



posted @ 2021-03-11 14:18  余***龙  阅读(84)  评论(0编辑  收藏  举报