技术博客0

第一

postgresql是最优秀的开源关系型数据库,比mysql多了一些高级特性。

第二

elasticsearch是搜索引擎,存一条数据就是一个文档。elasticsearch的操作采用了restfull风格,返回josn格式数据

第三

mongoDB是一个开源稳定的高性能高可用nosql,数据采用集合形式存储,存储格式为bson

第四

常见的nosql(not only sql)

hbase redis mongodb

第五

redis是键值对缓存

第六

kafka是一个发布订阅模式的消息系统,它有多层概念。一个broker包含多个topic.一个topic包含多个partition.一个partation包含多个offset.消费者会顺序读取某个offset

第七

k8s service与pod的关联采用label selector.

service 暴露pod常见有三种,分别为

nodePort clusterIp loadBalancer

nodePort采用直接在node上选择一个端口,外部通过该端口即可访问服务

clusterIp 采用一个集群内ip,访问该集群内ip即可访问服务

loadBalancer需要借助云服务商提供的负载均衡,从而访问服务

第八

什么是k8s

k8s源自谷歌的大型应用管理系统borg,是borg的开源版。

k8s是优秀的容器管理平台

第九

k8s有哪些组件

kube-apiserver 它是k8s控制平面的前端,负责提供k8s对外暴露的api

etcd 它是高性能分布式一致性键值对数据库,负责存储k8s集群的元数据信息

kube-schdeuler 它负责pod的调度

controller manager 它是控制器管理器,负责管理控制器例如node-controller pod-controller

controller manager 与api-server建立长连接来watch资源的创建删除和修改

第十

为什么要使用rabbitmq

最主要是异步处理 如果是AB同步通信,A会因为要等待B的回执而阻塞,如果有个mq, A只需要将消息发给mq, mq将消息转发给B从而实现异步处理,提升系统流畅性

流量削峰 对流量洪峰进行缓冲,以防止系统宕机

应用解耦 多个系统之间使用mq传递消息可以避免一个系统的故障影响全部系统

第十一

rabbitmq的四大概念

生产者 数据发送方

消费者 数据接收方

队列 数据存储方

交换机 数据分发方

第十二

常见linux命令

Linux 常用命令学习 | 菜鸟教程

第十三

pod容器相关

容器就是被隔离被限制的进程

容器相当于进程,pod相当于进程组

一个pod可以包含多个容器,容器共享了pod的某些资源,例如紧密协作的容器业务可以放置在一个pod种,从而一起调度。

pod只有一个ip地址,容器们共享网络

第十四

什么是sidecar

边车模式,采用辅助容器帮助主容器执行任务。

第一种用法的典型是业务日志收集。辅助容器和业务容器共享一个volume

第二种用法是代理容器。代理容器在业务容器试图访问外部集群时采用网络代理层解耦了业务容器与外部集群。istio就是采用了代理容器。

第十五

k8s资源对象

Spec 期望的状态

Status 观察到的状态

Metadata

Labels 标签

Annotations 注解

OwnerReference 归属

第十六

job相关

job是pod的owner

job可以并发执行

cornJob 定时执行的job

第十七

configMap 用于解耦容器的可变配置

configMap供Pod使用

第十八

Secret 存储敏感信息,类型有Opaque service-account 等

serviceAccount 解决pod在集群中的身份认证问题

Secret通过Pod挂载使用,例如imagePullSecrets字段配置

Secret采用Base64,跟明文几乎无区别,更敏感信息采用其他手段存储

第十九

存储相关

podVolume 中的volumes有emptyDir和hostPath两种

其中,emptyDir创建的存储会随着pod的删除而丢失

而hostPath顾名思义是本地存储,不会丢失

storageClass是创建pv的模板

第二十

存储拓补调度

指pod根据指定的拓补调度限制后,再动态生成和绑定pv

第二十一

可观测性相关

k8s 集群内置 readiness probe 和 liveness probe 两个探针

readiness 表示可以提供服务 liveness 表示存活

检查成功有三种方式,分别为

http get返回200

exec 执行返回0

tcp连接正常

第二十二

k8s监控

prometheus是监控的标准

第二十三

pod网络

pod要求有独立的ip地址

pod与pod node 外部 要求联通

第二十四

service

提供了服务发现与负载均衡

service模板的ports字段定义了协议和端口

负载均衡实例为 例如port填写80,targetPort填写9376

意味着将访问service 80端口的流量都负载到pod组上的9376端口

通过LetelSelector选择了一组pod

访问service 1 curl 虚拟IP:端口号; 2 curl 服务名:端口号; 3 curl 环境变量:端口号

第二十五

etcd

采用raft一致性算法解决分布式一致性问题

对外接口 get put watch

第十二六

pod调度相关

QoS

quality of service 表示服务质量

QoS 有三个值分别为 Guaranteed(高度保障) Burstable(弹性) BestEffort(尽力)

QoS无法直接设置,而是k8s根据requst , limit 的设置进行自动计算

ResourceQutoa 资源限额用于限制namespace的资源用量

podAffinity pod亲和调度,决定pod更希望和另外的pod在一起

nodeAffinity pod对于node的亲和调度

nodeSelector 使得pod调度到指定筛选的Node上

第二十七

k8s存储架构

pvController 管理pv创建

adController 负责存储设备的attach/detach(挂载和卸载)

volume manager 负责卷的mount/unmount操作

scheduler 负责pod调度

第二十八

operator是管理、描述k8s自定义资源的一套机制。相关概念有

CRD 自定义资源声明

CR 自定义资源

Controller 控制器 负责监控资源变化并发起调谐 调谐指使状态与定义保持一致

Webhook 负责传入对象的校验或变更

operator = CRD + CR + Controller + Webhook

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值