如何从Pod发送指标,如何创建防火墙规则

时间:2019-05-10 10:28:59

标签: linux kubernetes firewall iptables telegraf

我有一个kubernetes集群,并且上面运行着telegraf守护程序。

如果我在主节点或节点上安装telegraf,则可以将度量标准发送到我们的kafka端点。但是,当我在pod中将Telegraf作为守护程序运行时,指标无法从kubernetes集群发送出去。 如何以某种方式转发或重新路由来自守护程序集的度量,使其与节点将其发送出去相同。

这是我的kubernetes主节点ip a和ip r s的输出。

[root@k8s-master ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:0f:6d:04 brd ff:ff:ff:ff:ff:ff
    inet 192.168.213.18/28 brd 192.168.213.31 scope global noprefixroute dynamic eth0
       valid_lft 86327sec preferred_lft 86327sec
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:0f:6d:07 brd ff:ff:ff:ff:ff:ff
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:c8:53:b5:1b brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
5: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default
    link/ether 6a:c2:52:fd:5f:8e brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.0/32 scope global flannel.1
       valid_lft forever preferred_lft forever
    inet6 fe80::68c2:52ff:fefd:5f8e/64 scope link
       valid_lft forever preferred_lft forever
6: cni0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
    link/ether ea:51:35:73:62:2e brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 scope global cni0
       valid_lft forever preferred_lft forever
    inet6 fe80::e851:35ff:fe73:622e/64 scope link
       valid_lft forever preferred_lft forever
7: vethefd13f49@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default
    link/ether c2:de:42:ed:c8:57 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::c0de:42ff:feed:c857/64 scope link
       valid_lft forever preferred_lft forever
8: veth70490bd9@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default
    link/ether 7e:dd:ab:8b:f7:ef brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet6 fe80::7cdd:abff:fe8b:f7ef/64 scope link
       valid_lft forever preferred_lft forever
[root@k8s-master ~]# ip r s
default via 192.168.213.17 dev eth0 proto dhcp metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.0.0/24 dev cni0 proto kernel scope link src 192.168.0.1
192.168.1.0/24 via 192.168.1.0 dev flannel.1 onlink
192.168.2.0/24 via 192.168.2.0 dev flannel.1 onlink
192.168.213.16/28 dev eth0 proto kernel scope link src 192.168.213.18 metric 100
[root@k8s-master ~]#

这是豆荚里相同的东西:

root@telegraf-dvtcl:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
3: eth0@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default
    link/ether 2e:99:ce:82:bd:67 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.1.10/24 scope global eth0
       valid_lft forever preferred_lft forever
root@telegraf-dvtcl:/# ip r s
default via 192.168.1.1 dev eth0
10.244.0.0/16 via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
root@telegraf-dvtcl:/#

我要将指标发送到此处10.121.63.5:9092

总结一下,如果我是从k8s-master发送的,那么,如果我是从telegraf pod发送的,则不传输指标。 我是kubernetes的新手,所以我还不清楚网络。

0 个答案:

没有答案