1、解释kubeadm,kubectl,kubelet。
答:
kubeadm 提供了构建集群的指令,kubeadm init 初始化集群,kubeadm join 扩充集群节点。
kubectl 是 K8s 集群的命令行工具,能够对集群本身进行管理,并进行容器化应用的安装和部署。
kubelet 在集群中每个节点上运行,负责与 API-server 进行通信,监控与维护 Pod 中容器的生命周期,同时也负责 CSI(容器存储接口)和 CNI(容器网络接口)的管理。
2、详细说明K8s集群的创建过程。
答:
第一步:安装与配置服务器节点,过程略
第二步:在各节点上安装 docker-ce, docker-ce-cli, containerd.io, docker-compose-plugin;
部署 CRI-Docker。
第三步:在个节点关闭 Swap 分区;加载 br_netfilter 以允许 iptables 桥接流量;
安装 kubeadm, kubectl 和 kubelete 软件包;集成 CRI-Docker。
第四步:在 master 节点上部署集群(kubeadm.yaml),创建集群(kubeadm init), 加入各节点(kubeadm join)。
第五步:部署 Calico 网络插件,检查验证集群状态
3、kube-apiserver,etcd,kube-controller-manager,kube-scheduler的作用。
答:
都是控制面板组件
API Server核心作用:外部想访问k8s集群数据的唯一入口,负责接收所有请求并通过 6443 端口进行通讯,后续编程连接集群必须通过该端口。
Etcd(数据库)数据存储:作为集群的键值对(Key-Value)内存数据库,负责存储所有资源对象的配置数据,是 Kubernetes 集群状态的核心存储。
Scheduler(调度器)调度逻辑:通过查询 etcd 获取资源分配情况,负责为新创建的、未分配节点的 Pod 规划运行节点,并通知 kubelet 启动容器。
Controller Manager(控制器管理器):负责管理 Pod 的运行状态,确保 Pod 以用户声明的期望方式运行,维持声明式编程的最终一致性。
4、kubelet,kube-proxy作用。
答:
节点组件
Kubelet:管理本地节点上的所有容器,保证容器在pod中正常运行
kube-proxy:网络代理,各个节点间的通讯(可选)


