内容来自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所在主机读取资源并复制到镜像中