Kubernetes/Docker相关问题

1.可以看服务IP地址吗?
答:可以使用kubectl命令查看,service是对外服务的ip地址,endpoints信息包含name和各个容器的ip和port;
    endpoint对象主要由pod的ip和容器监听的端口号组成;endpoint对象随着pod的创建、销毁,也将    被更新;
2.service如何向后端POD负载均衡分发数据包,如何知道要负载均衡?
答:当一个service有多个endpoints时,就相当于一个service对应多个pod,这个时候就意味着要实现负载均衡,默认情况下采用随机方法,从“kube-svc”链向“kube-sep”链转发数据包。

2.1.在负载均衡时,如何实现业务应用的会话保持?
答:将service的sessionAffinity配置成ClientIP,那么在一定时间范围内向“kube-svc”链请求的数据包都会发给固定的“kube-sep”链,通过这种方式实现业务应用的会话保持。

3.Pod容器和用户容器异同?

4.iptables表里面的规则是谁创建的,如何创建的,数据包流向?
答:kube-proxy将程序缓存中的iptables规则通过iptables-restore命令更新到node节点操作系统中。
kube-proxy配置后的iptables数据包流入过程:从主机网卡上得到的数据包在经过prerouting链的nat表时,被导入kube-proxy的kube-services链,然后被导入kube-svc-xxx链,最后被导入kube-sep-xxx,数据包被DDAT到一个pod上,然后返回到prerouting链中,

5.外部应用如何访问service?

答:kube-proxy在node节点上创建端口,kubernetes默认在30000-32767选择端口号给service,并且建立从node节点上的物理端口到service的iptables规则,然后kubernetes外部应用就可以通过访问node节点ip和端口来实现访问service。总而言之,就是ip和端口号的映射关系。

6.kubernetes的高可用性从哪些方面考虑?

答:

   1.etcd数据存储的高可用性

    2.Kubernetes Master组件的高可用性
7.iptables中的规则链有哪些,做数据转发时的作用是什么?

答:

    1.iptables内置了filter、nat和mangle三张表;

    2.filter负责过滤数据包,包括的规则链有:input、output和forward;
    3.nat则涉及到网络地址转换,规则链有:prerouting、postrouting和output;
    4.mangle表则主要修改数据包内容,用来做流量整形的,默认规则链有:INPUT、OUTPUT、NAT、      POSTROUTING、PREROUTING;
注--》input匹配目的ip是本机的数据包;forward匹配流经本机的数据包;prerouting用来做DNAT,修改目的ip;postrouting用来做SNAT,修改源ip;

8.pod的生命周期管理?
答:
pending是开始创建pod,pod中的容器未完全启动;
running是pod被分配到node,pod中的所有容器都启动;
succeeded是pod中所有容器正常终止;
failed是pod中容器有非正常终止;

unknown是无法获取pod状态;


9.系统容器和用户容器的区别?初始化容器和应用容器的区别?

10.如何设置pod生命周期?
首先检查pod中所有初始化容器的状态,然后检查pod中所有应用容器的状态,之后根据两类容器的状态和RestartPolicy来设置Pod生命周期。
11.如何在网上访问部署好的应用?

答:

1.部署的服务有一个IP地址,但是这个地址只在Kubernetes集群内可用;

2.可以在主机端口上直接开放一个服务,这样做有缺陷,如果依赖主机的端口,随着应用的增多很可能会出现端口冲突,并且未来集群的扩展或主机的替换也会变得非常困难。

12.pod对象各部分解析
答:
d319ad42e-b0e0-4b06-be2-2046754687-b41d0
d319ad42e-b0e0-4b06-be2-2046754687-d0xel
d319ad42e-b0e0-4b06-be2-2046754687-w7new
三个pod对象,其中d319ad42e-b0e0-4b06-be2是k8s-app的id,2046754687是pod模板的hash值,b41d0对应的是各个对象的id?

13.pod对象和service对象的异同?

14.kubernetes对pod的重启如何实现?

15.Docker的网络模式?网络通信原理?
答:Docker的默认网络模式是bridge模式,

16.集群功能模块之间的如何进行通信?

答:API Server作为集群的核心,负责集群功能模块之间的通信;集群内的功能模块通过API Server将信息存入etcd,其他模块通过AIP Server读取这些信息,从而实现模块之间的信息交互。


----未完待续


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来为您简单介绍一下从一到万的运维之路,包括VM、DockerKubernetes和Service Mesh。 1. VM(Virtual Machine,虚拟机) VM是一种在物理机上运行的虚拟化技术,通过软件实现硬件资源的虚拟化,将一台物理机划分为多个虚拟机,每个虚拟机都可以独立运行不同的操作系统和应用程序。VM技术广泛应用于传统的IT架构中,提供了一种快速部署、灵活扩展、可靠稳定的解决方案,但是存在资源利用率低、启动速度慢、镜像管理难等问题。 2. Docker Docker是一种容器化技术,将应用程序及其依赖打包成一个可移植的容器,使应用程序可以在任何环境中运行,提供了一种轻量级、快速部署、资源利用率高的解决方案。Docker通过镜像和容器的概念,实现了应用程序的隔离和管理,大大简化了应用程序的部署和维护,但是存在网络、安全、资源隔离等方面的问题。 3. Kubernetes Kubernetes是一种容器编排平台,用于管理和部署Docker容器集群。Kubernetes提供了一种自动化、弹性伸缩、高可用的容器化解决方案,通过Pod、Service、ReplicaSet等概念,实现了应用程序的可靠部署和扩展。Kubernetes可以管理数千个容器,提供了完整的应用程序生命周期管理,但是存在学习成本高、配置复杂、维护难度大等问题。 4. Service Mesh Service Mesh是一种微服务架构中的网络基础设施,用于解决微服务中的网络通信问题。Service Mesh通过sidecar代理的方式,为微服务提供负载均衡、流量控制、故障熔断、监控等功能,提供了一种可观测、可控制的解决方案。但是Service Mesh也存在一些问题,如代理对性能的影响、服务网格的复杂性等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值