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]:

相关推荐
运维开发故事1 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生3 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美4 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
武子康8 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
网络研究院11 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智11 天前
ARP代理--工作原理
运维·网络·arp·arp代理