1、简述一个用户到底是怎么请求到k8s里服务的

首先用户在浏览器中输入域名,然后DNS服务器将域名解析到我们的VIP,经过L7层的负载均衡器均衡的分配到其中的一个ingress,他会在这个ingress中监听访问的URL的规则,然后根据这个规则找到kube_proxy实现的service,最后service根据标签来匹配对应的Pod来提供服务。

用户 ---> VIP ---> L7负载均衡 ----> ingress ---> service ---> Pod

2、nginx的健康检查是怎么实现的

1、可以通过keepalived,在keepalived配置文件中指定脚本,指定检测的频率。

2、通过编写脚本放到计划任务里面,脚本首先判断进程是否存在如果不存在了,执行重启命令,如果存在再通过curl localhost的页面方式将返回值切出来,如果返回值是200的话说明正常,如果不是200说明有异常,这时就可以将nginx进程通过kill命令杀掉,再重新启动。

3、netstat命令 查看TCP连接数信息

netstat -an |grep 'ESTABLISHED' |grep 'tcp' |wc -l

参数说明:
CLOSED:没有连接活动或正在进行的;
LISTEN:服务器正在等待的进入呼叫;
SYN_RECV:一个连接请求已经到达,等待确认;
SYN_SENT:应用已经开始,打开一个连接;
ESTABLISHED:正常数据传输状态,也可以近似的理解为当前服务器的并发数;
FIN_WAIT1:应用已经完成;
FIN_WAIT2:另一边同意释放;
ITMED_WAIT:等待所有分组死掉;
CLOSING:两边同时尝试关闭;
TIME_WAIT:另一边已初始化一个释放;
LAST_ACK:等待所有分组死掉;