1.简单说说什么是kubernetes?
K8s 是一个开源的容器编排平台;用来自动调度、弹性扩缩容、自愈修复及管理容器化应用 核心作用:统一管理容器生命周期,简化大规模容器集群的部署、运维及管理的难题。
2.Pod是什么?和容器有什么区别?
Pod 是 K8s 最小调度单元,一个 Pod 里可以包含一个或多个容器,共享网络、存储、命名空间、统一调度与启停; 区别:1.容器:只负责运行单个程序2.Pod:可包含多个容器,共享资源,紧密协作
3.Pod一直处于Pending状态,常见原因有哪些?
1.资源不足 CPU/Memory/磁盘/资源限制过高...2.节点调度问题 节点亲和性、污点、标签不匹配...3.镜像异常 镜像地址错误、拉取镜像失败、私有镜像未配置秘钥(ImagePullSecret)...4.存储挂载失败 PVC未绑定、PV不存在、存储权限或挂载路径异常...5.网络限制 网络策略、防火墙限制...6.集群配额不足 namespace资源配额耗尽,无法创建Pod
4.简述Kubernetes和Docker的关系?
Docker Container Runtime 负责打包应用、创建并运行单个容器、解决应用隔离与部署问题。 Kubernetes 容器编排平台 不直接运行容器,依靠容器运行时(Docker/Containerd),统一管理集群中大量的容器。 我来总结一下: Docker 负责造容器,跑容器; K8s 负责批量调度,运维及管理大量容器。 二者分工协作,Docker是底层载体,K8s是上层管理。
5.Kubernetes中什么是kubeadm,Kubectl,Kubelet?
kubeadm(集群部署引导工具) 快速搭建K8s集群的工具,核心:引导集群初始化 kubeadm init 初始化控制平面 kubeadmjoin让工作节点加入集群 kubeadm upgrade 实现集群版本升级 kubeadm reset 集群拆除 kubectl(集群命令行管理工具) 用户与K8s集群交互的命令行接口 kubectl create/get/describe/apply/delete ->pod/deployment/service/configmap kubectlexec-it<pod-name>-- /bin/sh(bash)kubectl logs(-f)<pod-name># -f 实时跟踪kubelet(节点代理守护进程) 代理服务,运行在每个节点的进程 Pod生命值周期管理 节点状态上报 资源管理 Volume挂载与管理 网络协调