Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Qtotonibudinibudet
Nov 7, 2011



Omich poluyobok, skazhi ty narkoman? ya prosto tozhe gde to tam zhivu, mogli by vmeste uyobyvat' narkotiki

Nomnom Cookie posted:

kubernetes is real, real bad actually. it was designed on the assumption that you could use etcd to provide every kubelet and every kube-proxy and every controller in the cluster with a globally consistent view of cluster state

ahem, it's not globally consistent, it's eventually globally consistent

everything works fine so long as nothing ever changes in your cluster and, if it does, that those changes don't result in poo poo fighting to account for a state that only showed up due to something else trying to account for a change before settling into an equilibrium that never actually happens

the primitives generally make sense though! too bad most everyone lacks the OS theory and distributed systems background to try and use them well tho

Adbot
ADBOT LOVES YOU

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE
this tracks with what ive seen - on prem implementations of kube are effectively 1 app per cluster and as stateless as possible.

a static kube cluster is a reliable kube cluster

no upgrades or security fixes, make a new one and deploy the current version of the app to it and shoot the old cluster in the face.

Progressive JPEG
Feb 19, 2003

Nomnom Cookie posted:

kubernetes is real, real bad actually. it was designed on the assumption that you could use etcd to provide every kubelet and every kube-proxy and every controller in the cluster with a globally consistent view of cluster state. as anyone who has actually scaled a distributed system before would have guessed, this lasted for about five seconds after hitting a real use case and has only gotten worse since. a "properly" functioning production kube cluster is nothing more or less than an enormous pile of poo poo covered in monkeys, and all of the monkeys are constantly grabbing handfuls of poo poo to fling at each other and to different places on the pile. you see all these monkeys being extremely busy and get impressed by how much is going on, but in the end its still monkeys flinging poo poo and you hope occasionally a splat lands in the right spot to make something happen

i work on a pretty big kube deployment as a managed platform used by the rest of the company and it's ok

things are divided into groups of a few thousand nodes each and then have some basic federation on top of that

but we don't expose the kube apis to users, its effectively an implementation detail on our end

also buddy if you think kube is bad then take a look at mesos lol

12 rats tied together
Sep 7, 2006

kube is certainly A Solution to the problem of "how do i bin pack a bunch of garbage onto these computers"

imagine though if you didn't have this problem. imagine what kind of world that would be.

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE
any design based on polling loops, no service dependancies but instead random retry and sleeps with eventual giving up, and otherwise timing windows on top of timing windows is a terrible design.

its like the stupidest possible design that only could work if you have effectively infinite cores available and a network with infinite bandwidth and 0 latency.

Cidrick
Jun 10, 2001

Praise the siamese

Progressive JPEG posted:

also buddy if you think kube is bad then take a look at mesos lol

yeah. jesus christ, mesos. I ran a mesos cluster for a few years because we thought "kubernetes isn't mature enough" in 2016 or whatever. I couldn't throw that stack into the trash fast enough once we had kubernetes working.

Asymmetric POSTer
Aug 17, 2005

i dunno if we should be listening to the guy trying to run ospf between vms for rdma traffic for what is a bad design

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE
nobody should listen to me ever for any reason

but forget rdma: when you have 2 network adapters, one is fast and talks to nearby stuff, and one is slow and talks to the entire world, how do you decide when you can use the fast network?

no, you cannot bridge or route the fast network to the world.

a) /etc/hosts overrides
b) split horizon dns
c) dynamic routing
d) unique host names for all viable paths and configure the path in the application config
e) ?????

outhole surfer
Mar 18, 2003

chuck it all in the bin and go play pinball

Silver Alicorn
Mar 30, 2008

𝓪 𝓻𝓮𝓭 𝓹𝓪𝓷𝓭𝓪 𝓲𝓼 𝓪 𝓬𝓾𝓻𝓲𝓸𝓾𝓼 𝓼𝓸𝓻𝓽 𝓸𝓯 𝓬𝓻𝓮𝓪𝓽𝓾𝓻𝓮
seconded

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE
:dogstare:

see? this is why i ask you excellent people, because you can see both forest and trees.

12 rats tied together
Sep 7, 2006

the answer though OP is the route table. it's what it was designed for and it has all the features you need to solve that problem.

abigserve
Sep 13, 2009

this is a better avatar than what I had before

fresh_cheese posted:

nobody should listen to me ever for any reason

but forget rdma: when you have 2 network adapters, one is fast and talks to nearby stuff, and one is slow and talks to the entire world, how do you decide when you can use the fast network?

no, you cannot bridge or route the fast network to the world.

a) /etc/hosts overrides
b) split horizon dns
c) dynamic routing
d) unique host names for all viable paths and configure the path in the application config
e) ?????

in the situation where the two networks aren't connected d would be the objectively correct solution

in some hosed up stupid situation where you've got two networks, where one can access the internet but the other can't, but they both use the same addressing, the only shortest path you need to calculate is out the door and away from that situation

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE

12 rats tied together posted:

the answer though OP is the route table. it's what it was designed for and it has all the features you need to solve that problem.

invent my own dynamic routing automation based on internally discoverable topology facts. check.

… gotta do both ends tho so i dont end up with asymmetric routes, so ill need a notification mechanism… aaaaand i just reinvented ospf. greaaaat.

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE

abigserve posted:

in the situation where the two networks aren't connected d would be the objectively correct solution

in some hosed up stupid situation where you've got two networks, where one can access the internet but the other can't, but they both use the same addressing, the only shortest path you need to calculate is out the door and away from that situation

nah the two networks do not overlap in terms of ip addresses. the slow network is 10.0.0.0/8 and the fast network is 192.168.0.0/24

12 rats tied together
Sep 7, 2006

no just use ospf. or configure a 0.0.0.0 route out the slow nic and a more specific route out the internal one. probably start with the second one

abigserve
Sep 13, 2009

this is a better avatar than what I had before

12 rats tied together posted:

no just use ospf. or configure a 0.0.0.0 route out the slow nic and a more specific route out the internal one. probably start with the second one

exactly. that's literally all you need to do bruz

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE
if i hack a route for outbound traffic on host1 to use the fast network when it wants to talk to host2, i need a corresponding return path on host2 to also use the fast path to get the responses back to host1

its the coordination of both those changes across not just a pair of nodes, but every node running on the fast network that makes this effectively a use ospf or reimplement ospf poorly situation.

i was hoping i was just too dumb to see a easy solution.

nope, just dumb. situation is also dumb. everything is dumb except naps.

naps rule.

madsushi
Apr 19, 2009

Baller.
#essereFerrari

outhole surfer posted:

can ospf do anycast?

my main use case for ibgp at the server is ha dns and such

yes, it does it quite well (ECMP), but remember that ECMP routing is based on C for 'cost'. ospf links can have different costs, which means you may need to be careful.

eg: one server has a 1 gbps nic, the other has a 10 gbps nic, those are not equal 'cost' by default, the 10 gbps server will get 100% of the traffic until it goes offline. you can adjust the 'cost' of links manually to smooth that out.

also your implementation of ospf may not have different costs between fast links (eg >10 gbps) because they made cost go down with link speed instead of up and then hit the bottom around 10 gbps and so when 25/40/100 came out they didn't have any lower numbers and so just shrugged and said "well those are all close enough" but that's a specific ospf implementation detail that can be tuned/corrected but just fyi

madsushi
Apr 19, 2009

Baller.
#essereFerrari

fresh_cheese posted:

if i hack a route for outbound traffic on host1 to use the fast network when it wants to talk to host2, i need a corresponding return path on host2 to also use the fast path to get the responses back to host1

is the fast network (192.168.0.0/24) a single contiguous network? hosts will automatically send traffic for that local network out the local (fast nic). if not contiguous, just point the supernet (192.168.0.0/24) at the gateway on said network. the reply will do the same since it'll be sourcing from the ip on the fast nic

i've used additional dns records for this before, eg: host1 and host1-fast, host2 and host2-fast, and if i want to use the good link, i put in `host2-fast` into the app, and it works because everybody with a NIC in the fast network will prefer that due to the local route always being installed with the interface

abigserve
Sep 13, 2009

this is a better avatar than what I had before

fresh_cheese posted:

if i hack a route for outbound traffic on host1 to use the fast network when it wants to talk to host2, i need a corresponding return path on host2 to also use the fast path to get the responses back to host1

its the coordination of both those changes across not just a pair of nodes, but every node running on the fast network that makes this effectively a use ospf or reimplement ospf poorly situation.

i was hoping i was just too dumb to see a easy solution.

nope, just dumb. situation is also dumb. everything is dumb except naps.

naps rule.

what the gently caress are you talking about, you've got two nodes that are connected to the same network, you don't need to hack anything it's literally just "have a route to the other network that uses the faster interface"

madsushi posted:

is the fast network (192.168.0.0/24) a single contiguous network? hosts will automatically send traffic for that local network out the local (fast nic). if not contiguous, just point the supernet (192.168.0.0/24) at the gateway on said network. the reply will do the same since it'll be sourcing from the ip on the fast nic


this. You need one extra route (assuming one supernet) on all your hosts and they should have it anyway lmao

Nomnom Cookie
Aug 30, 2009



Asymmetric POSTer posted:

i dunno if we should be listening to the guy trying to run ospf between vms for rdma traffic for what is a bad design

well listen to me instead then

Nomnom Cookie
Aug 30, 2009



abigserve posted:

what the gently caress are you talking about, you've got two nodes that are connected to the same network, you don't need to hack anything it's literally just "have a route to the other network that uses the faster interface"

mfs will literally deploy ospf to avoid learning about route tables

Nomnom Cookie
Aug 30, 2009



ip route add 192.168.0.0/24 fast-nic

done

Nomnom Cookie
Aug 30, 2009



very painfully piecing together what our hero has splayed out across 12 posts, here is my guess as to the situation:

1. VMs are deployed to various hosts
2. every VM is on two networks
3. 10.0.0.0/8 is the real network and puts packets on wires
4. 192.168.0.0/24 is the fake network that can only talk to VMs on the same machine and puts packets directly in socket buffers
5. the requirement is to transparently use the intra-VM fake nic when possible so that packets dont have to hairpin through the host's network stack to reach the destination when that destination happens to be on the same physical machine
6. therefore you cant just make a route table because the problem is that the correct destination IP varies depending on the sender address

currently they are doing fucky things with /etc/hosts to make names resolve to the intra-VM address when that is available

what they should be doing is giving each VM host a chunk of the real network to call its own so that you can make a route table

edit: what they really should be doing is none of this bullshit because it doesn't matter and isn't load bearing. or if it is load bearing they need to stop with this opportunistic bullshit and come up with a scheme that guarantees VM placement so as to get the perf they need to hit SLAs

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE

Nomnom Cookie posted:

ip route add 192.168.0.0/24 fast-nic

done

lol ok im done youre right you win jesus gently caress goddamn

in a well actually
Jan 26, 2011

dude, you gotta end it on the rhyme

if you aren’t rdmaing does a vswitch transit matter?

extremely not my area but I don’t understand a functional difference between a vswitch internal only transit vs a vswitch transit with an uplink

or does this scenario require some internal non-vswitch networking

12 rats tied together
Sep 7, 2006

Nomnom Cookie posted:

4. 192.168.0.0/24 is the fake network that can only talk to VMs on the same machine and puts packets directly in socket buffers
5. the requirement is to transparently use the intra-VM fake nic when possible so that packets dont have to hairpin through the host's network stack to reach the destination when that destination happens to be on the same physical machine
6. therefore you cant just make a route table because the problem is that the correct destination IP varies depending on the sender address

hmm. in that case i would simply stop using VMs, run 2 processes in the same OS (the OS is good at this im told) and then use pipes instead of sockets.

Progressive JPEG
Feb 19, 2003

hey whats a reasonable way to handle two ISPs in a home situation

like if i had a WISP and a 4g modem that have similar speeds. thinking load could be distributed across both, rather than doing a priority failover setup

don't really know what i should be looking for here

12 rats tied together
Sep 7, 2006

[dusting off ccna] GLBP lets you do load balancing. it is a type of first-hop redundancy protocol which normally is for active/standby-ing your gateways. i would start by googling FHRP + load balancing / sharing / etc. words. you will need some form of managed router.

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE
thunderdome it with two dhcp servers on the same subnet

wyoak
Feb 14, 2005

a glass case of emotion

Fallen Rib
two static routes, 128.0.0.0/8 and 129.0.0.0/8

fresh_cheese
Jul 2, 2014

MY KPI IS HOW MANY VP NUTS I SUCK IN A FISCAL YEAR AND MY LAST THREE OFFICE CHAIRS COMMITTED SUICIDE
lol

tortilla_chip
Jun 13, 2007

k-partite
Without provider independent address space your options will be limited. The shape of the idea is something that determines which interface/provider to use and then DNAT based off that to keep return traffic symmetric.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
deez nats

abigserve
Sep 13, 2009

this is a better avatar than what I had before
Most modern enterprisey firewalls will support something like that via session-based ECMP, which should also handle NAT based on outgoing interface. I assume that sorta thing has trickled down into the prosumer market already.

Jabor posted:

deez nats

Nomnom Cookie
Aug 30, 2009



12 rats tied together posted:

hmm. in that case i would simply stop using VMs, run 2 processes in the same OS (the OS is good at this im told) and then use pipes instead of sockets.

making something that's simple and works isn't fun. getting to gently caress with routing protocols is fun

but yeah if what you want is a set of processes that run on the same host and have extremely convenient communication between them, docker compose is right there. just use that

Farmer Crack-Ass
Jan 2, 2001

this is me posting irl

Progressive JPEG posted:

hey whats a reasonable way to handle two ISPs in a home situation

like if i had a WISP and a 4g modem that have similar speeds. thinking load could be distributed across both, rather than doing a priority failover setup

don't really know what i should be looking for here

multi-wan is the term you're looking for

post hole digger
Mar 21, 2011

Jabor posted:

deez nats

Adbot
ADBOT LOVES YOU

022024_4
Feb 21, 2024

Somebody fucked around with this message at 06:29 on Feb 21, 2024

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply