k8s知识点汇总2
6.解释 br_netfilter。
答:br_netfilter模块用于将桥接流量转发至iptables链,它只影响相同node内pod之间通过service实现的通信,而不影响不同node之间pod的通信
7.解释 kubeadm, kubectl, kubelet。
答:
kubeadm提供初始化集群的指令,例如初始化集群kubeadm,扩充节点kubeadm join
kubelet是k8s的命令行工具,可以管理集群,并进行容器化应用的安装和部署
kubelet在集群每个节点运行,负责和api-server通信,监控与维护pod中容器的生命周期,也负责容器存储(CSI)接口和网络接口(CNI)的管理
8.详细说明 K8s 集群的创建过程
答:
(1)安装配置服务器节点
(2)安装docker-ce,docker-ce-cli,containerd.io,docker-compose-plugin,部署cri-docker
(3)关闭交换分区,加载并持久化br_netfilter(编辑/etc/modoules-load.d/k8s.conf文件)以允许iptables桥接流量
(4)安装kubeadm,kubelet,kubectl,并集成cri-docker
(5)在master节点部署集群(kubeadm.yaml),创建集群(kubeadm init),加入各节点(kubeadm join)
(6)部署Calico网络插件,检查验证集群状态)
9. Calico 网络插件在 K8s 集群的作用
答:Calico是一个开源网络和网络安全解决方案,适用与容器、虚拟机和基于本地主机的工作负载,它本事是一个三层的虚拟网络方案,它将每个节点都当作router,将每个节点的容器都当作是“节点路由器”的一个终端同时给他分配一个ip,并且各节点通过BGP学习生成路由规则,从而将不同节点的容器连接起来,从而为k8s集群提供了超快的性能和可扩展性,扩展了网络边界
10. kube-apiserver, etcd, kube-controller-manager, kube-scheduler 的作用
答:
kube-apiserver:是k8s的核心控制层,它对外暴露了k8s的api,是整个集群管理的api接口,负责集群内部各个模块之间的通信,负责集群安全控制
etcd:key-value键值对的分布式存储,存储了k8s集群上的所有元数据,包括各种对象的状态和元信息配置,calico等网络插件配置信息
kube-controller-manager:是处理集群中常规任务的后台线程,当集群资源组件发生各种故障导致系统发生变化时,她会通过api server尝试将系统状态修复到期望状态
kube-schedular:负责调度pod