内容来自B站视频讲解,作为自己学习的整理和记录,此刻我只是知识的搬运者与记录者,欢迎各位大佬不吝指教,万分感谢~

1.kubernetes与docker的关系

docker通过dockerfile将应用程序所需的设置和依赖打包到一个容器中,从而实现迁移性的特点。

kubernetes用于关联和编排在多个主机上运行的容器。

2.kube-proxy ipvs和iptables的异同

相同点:都是通过netfilter内核进行转发的

不同点:iptables是为防火墙而设计的;ipvs则专门用于高性能负载均衡,并使用更高效的数据结构(hash表,并支持索引)

iptables与ipvs比较:

1.ipvs为大型集群提供了更好的可扩展性和性能

2.ipvs支持比iptables更复杂的负载均衡算法(rr,wrr,lc,wlc)

3.ipvs支持服务健康检测和连接重试等功能

4.ipvs可以动态修改ipset集合

3.kube-proxy切换为ipvs负载

首先确定集群的节点数量

然后查看iptables的节点数量

然后载入ipvs模块

最后测试ipvs模式(ipvsadm -L -n),删掉之前的kube-proxy容器

4.简述微服务部署中的蓝绿发布

在kubernetes中同时发布两个版本,一个是正在运行的系统,发布为绿色;一个是准备发布的系统,发布为蓝色。蓝色一般用于测试、开发,不用于上线。

金丝雀发布为灰度发布。

滚动发布分批次。

5.简述蓝绿发布的优势与不足有哪些

优势:升级、切换、回退速度非常快

不足:全量切换,需要两倍的集群资源

6.简述kubernetes静态pod?

kubeadm静态pod路径:/var/lib/kubelet/config.yaml

二进制安装:/usr/lib/systemd/system/kubelet.service 添加配置“–pod-mainfest-path=dir”

7.简述kubernetes数据持久化的方式有哪些?

1 emptydir 生命周期与pod一致,临时存储

2 hostpath hostdir 将宿主机已经存在的目录或文件挂载到容器内部,类似于docker中的bind mount

3 pv(persistentVolume)支持nfs,gfs,ceph;典型的数据持久化存储的解决方案

8.简述dockerfile中copy和add指令有什么区别?

add支持url获取,并且支持解压缩

copy仅从dokcer build所在主机读取资源并复制到镜像中