| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> k8s面试题 仅供参考(k8s调度的有待补充) -> 正文阅读 |
|
[系统运维]k8s面试题 仅供参考(k8s调度的有待补充) |
1、pod的共享资源 一个 Pod 中的应用容器共享五种资源:
Pod 的生命周期通过 Replication Set 来管理;通过模板进行定义,然后分配到一个 Node 2、 k8s架构 每个组件的作用 master: etcd (分布式kv存储) apiserver (增删改etcd数据) controller-manager (监视资源变化,pod异常拉起) scheduler(调度资源) worker: kube-proxy kubelet cri 组件: coredns cni(flannel calico) dashboard ingress 3、headless-service使用场景自主选择权 client可以自主选择哪个server Headless Service 的对应的每一个 Endpoints,即每一个Pod,都会有对应的DNS域名,这样Pod之间就可以互相访问。 4、集群使用的网络方案,pod如何和node网络通信的
5、k8s集群节点需要关机维护,需要怎么操作 1、先cordon节点 即设置为不可调度 2、# 驱逐 node 节点上 pod $ kubectl drain k8s-node-01 --force --ignore-daemonsets 3、 关机 $ init 0 6、有哪些pod控制器
7、存活性监测和就绪性监测的实现方式
8、pod如何平滑升级minReadySeconds: 5 strategy: # indicate which strategy we want for rolling update type: RollingUpdate rollingUpdate: maxSurge: 30% maxUnavailable: 30% 9、存储卷使用方式
10、对外提供服务的pod暴露方式有哪些hostNetwork:在pod中使用该配置,在这种Pod中运行的应用程序可以直接看到pod启动的主机的网络接口 hostPort:直接将容器的端口与所调度的节点上的端口路由,这样用户就可以通过主机的IP来访问Pod NodePort:是K8s里一个广泛应用的服务暴露方式。K8s中的service默认情况都是使用Cluster IP这种类型,会产生一个只能在内部访问的Cluster IP,如果想能够直接访问service,需要将service type修改为nodePort。同时给改service指定一个nodeport值(30000-32767),用?--service-node-port-range?定义。 LoadBalancer:只能在service上定义,是公有云提供的负载均衡器 Ingress:ingress controller是由K8s管理的负载均衡容器,它的镜像包含一个nginx或HAProxy负载均衡器和一个控制器守护进程。 11、port targetPort nodePort targetPort是pod内部应用使用端口 port是集群内部互访的dnat端口: clusterIp:port nodePort是外部访问端口 12、上万规模的容器的kubernetes集群,使用kubernetes时需要注意哪些问题? 上万规模需要用ipvs做转发,网络用calico性能更好。 13、kubernetes的运维中有哪些注意的要点? 注意做好hpa,还有livenessProbe和readnessProbe这种探测,数据持久化,监控等 14、pause容器 https://www.cnblogs.com/guigujun/p/10556508.html 我们看下在node节点上都会起很多pause容器,和pod是一一对应的。 每个Pod里运行着一个特殊的被称之为Pause的容器,其他容器则为业务容器,这些业务容器共享Pause容器的网络栈和Volume挂载卷,因此他们之间通信和数据交换更为高效,在设计时我们可以充分利用这一特性将一组密切相关的服务进程放入同一个Pod中。同一个Pod里的容器之间仅需通过localhost就能互相通信。 kubernetes中的pause容器主要为每个业务容器提供以下功能: PID命名空间:Pod中的不同应用程序可以看到其他应用程序的进程ID。 网络命名空间:Pod中的多个容器能够访问同一个IP和端口范围。 IPC命名空间:Pod中的多个容器能够使用SystemV IPC或POSIX消息队列进行通信。 UTS命名空间:Pod中的多个容器共享一个主机名; Volumes(共享存储卷): Pod中的各个容器可以访问在Pod级别定义的Volumes。 15、一个经典Pod的完整生命周期是怎么样的? https://kubernetes.io/zh/docs/concepts/workloads/pods/pod-lifecycle/
16、集群发生雪崩的条件,以及预防手段。 1、通过kubelet配置预留cpu 内存 磁盘资源 2、通过给每个应用配置request,limit,当节点资源不足时无法被调度 17 Kubernetes的网络实现4.1 容器到容器的通信
4.2 Pod之间的通信
4.2.1 同一Node内Pod通信
4.2.2 不同Node的Pod通信
4.3 Pod到Service的通信
基础篇 基础篇主要面向的初级、中级开发工程师职位,主要考察对Kubernetes本身的理解。
拓展实践篇 拓展实践篇主要面向的高级开发工程师、架构师职位,主要考察实践经验和技术视野。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 13:51:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |