kubernetes-networkpolicies网络策略问题

kubernetes-networkpolicies网络策略问题

问题描述

重点重点重点,查看我的博客CKA考题,里面能找到解决方法

1.部署prometheus监控的时候,都部署成功,但是web访问503-504超时

2.添加ingress的时候也是访问不到,其他命名空间pod是可以通信

3.拉取的prometheus.yaml里面有networkpolicies.yaml是管理集群通信的

总结

我切换成nodeport暴漏方式,想去访问grafana页面,但是没有在宿主机上面发现暴漏端口,这里上网查看相关文档,k8s创建nodeport会在所有node节点暴漏端口,有一种网络策略他是不显示出来,你去ping 或者tlenet 端口 都是通的,当有服务去访问的时候,他会通过iptables规则去转发到对应的端口。

解决方法

1.首先查看pod通信问题,其他节点访问这个pod网络

shell 复制代码
ping 10.244.201.239

#测试其他节点pod能不能通信

2.查看部署yaml是不是有networkpolicies网络策略yaml文件

shell 复制代码
root@k8s-master01:~/test/prometheus/kube-prometheus-0.13.0/manifests# find . -name "*networkPolicy.yaml"
./prometheusOperator-networkPolicy.yaml
./blackboxExporter-networkPolicy.yaml
./prometheusAdapter-networkPolicy.yaml
./kubeStateMetrics-networkPolicy.yaml
./grafana-networkPolicy.yaml
./prometheus-networkPolicy.yaml
./alertmanager-networkPolicy.yaml
./nodeExporter-networkPolicy.yaml


#上面这些都是有网络策略的文件

3.查看networkpolicies

shell 复制代码
root@k8s-master01:~/test/prometheus/kube-prometheus-0.13.0/manifests# kubectl get networkpolicies -A
NAMESPACE    NAME                  POD-SELECTOR                                                                                                                                        AGE
monitoring   blackbox-exporter     app.kubernetes.io/component=exporter,app.kubernetes.io/name=blackbox-exporter,app.kubernetes.io/part-of=kube-prometheus                             6h13m
monitoring   kube-state-metrics    app.kubernetes.io/component=exporter,app.kubernetes.io/name=kube-state-                     6h13m

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=C%3A\Users\艾克\Ap![在这里插入图片描述](https://file.jishuzhan.net/article/1774093057029836801/cb89a868099f30a4472f06fe858adbdc.webp)

4.确认问题点,首先设置节点不可调度,在相同命名空间下创建pod,看看能不能访问

shell 复制代码
kubectl cordon master  #设置节点不可调度


kubectl create deployment nginx --image=nginx -n monitoring  #测试成功就是网络策略问题

5.解决问题

shell 复制代码
通过yaml删除networkpolicies也可以

直接删除networkpolicy也可以
# kubectl delete networkpolicy blackbox-exporter -n monitoring 
networkpolicy.networking.k8s.io "blackbox-exporter" deleted

配置ingress-grafana,添加注解

详解,grafana本身自己302又跳了一下

shell 复制代码
nginx.ingress.kubernetes.io/auth-always-set-cookie:设置身份验证请求返回的 cookie。默认情况下,仅当上游报告代码为 200、201、204、206、301、302、303、304、307 或 308 时,才会设置 cookie。<Boolean_Flag>


此注释允许您返回时间重定向(返回代码 302),而不是向上游发送数据。例如,将所有内容重定向到 Google,返回代码为 302(暂时移动)nginx.ingress.kubernetes.io/temporal-redirect:
ACK配置
新方法:

修改grafana.ini文件的yaml文件

powershell 复制代码
 grafana.ini: |
    [server]
    domain: daxinxindahaohao.cn
    root_url: http://daxinxindahaohao.cn/grafana
    serve_from_sub_path: true
    [auth.anonymous]
    enabled: true
    org_role: Viewer

重启pod,记得重启pod

阿里云ingress配置

参考文档

https://www.cnblogs.com/daniel-hutao/p/18041793/k8s_ingress_debug#%E7%AC%AC-2-%E5%85%B3%E5%BA%94%E7%94%A8%E8%BF%94%E5%9B%9E-302%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0-%E5%BC%95%E5%85%A5-503-%E9%94%99%E8%AF%AF\]: 官网 \[https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#temporal-redirect\]: //kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#temporal-redirect\]:

相关推荐
向宇it4 分钟前
【unity游戏开发——网络】网络游戏通信方案——强联网游戏(Socket长连接)、 弱联网游戏(HTTP短连接)
网络·http·游戏·unity·c#·编辑器·游戏引擎
怦然星动_10 分钟前
业务二层隔离-vlan技术
网络
Mr_Xuhhh11 分钟前
网络基础(1)
c语言·开发语言·网络·c++·qt·算法
WooaiJava12 分钟前
多个参数用websocket 向io 服务器发送变量,一次发一个,并接收响应
网络·websocket·网络协议
Changersh1 小时前
Windows下配置Docker+WSL集成开发环境
windows·docker·容器
醇醛酸醚酮酯1 小时前
std::promise和std::future的使用示例——单线程多链接、多线程单链接
网络·c++·算法
lovely_nn1 小时前
Docker 容器资源限制
docker·容器
Net_Walke1 小时前
【网络协议】WebSocket简介
网络·websocket·网络协议
xkroy3 小时前
网络协议概念与应用层
网络
筏.k3 小时前
C++ 网络编程(14) asio多线程模型IOThreadPool
网络·c++·架构