Yeah.
I'm assuming it's fine.
Thank you.
Please.
Yeah, thanks.
It's fine.
Yeah, perfect.
I'm going to start.
So yeah.
I'm going to do a talk on ITVS.
It's just people who are coming in here.
And I'd be sick, so I'm going to practice.
Let's get started.
So there's a whole who am I.
I'm from North Norway.
I work as a platform engineer.
That's what those things.
It's actually the first call in culture,
but in norming.
I have all the science applications.
A lot of them.
Yeah.
I'm using it.
I can see it's at home since like 2013.
So I now have my own SNN.
Yeah.
Kind of for now.
So yeah.
So let's let's first talk about.
I hope I can be for or the legacy.
IP.
It's basically the corner that we're going to talk about today.
It was standardized in like the 1980s.
It's been around for a while.
Most of you are probably pretty familiar with it.
You know, pretty standard IP of like.
But there's a mountain 32 bits.
The biggest issue with like before today is it's ice.
There are 4-3 billion others as.
And I've learned less than the current wall population.
We just like, yeah, a lot, a lot more people.
And most people also have multiple devices.
And so yeah.
And the work going for that is today is we can sort of something called not.
It's basically like way to hide multiple users behind the same I.P.
This brings a lot of complexity.
A lot of limitations.
And it's not really, it works.
But it's kind of back that it had to do.
Because we are up to IP addresses.
So we're starting with IPv6.
Now, for providers like the red res.
In 23 started charting for the big IPv4 addresses.
More and more ISP are now just starting to,
the code, carer, gray, not.
Especially means that we have multiple layers of not.
It's even more complexity.
It's a lot of issues as well.
Now, it's just having a lot of them.
These are the same external IP.
And you also have things like services.
And you're right, right, right limits.
Like the Docker with I.R. We have entrepreneurs.
Per IPv4 addresses if you don't authenticate.
So this can be interesting.
You have all the users behind the same external IPv4 address.
And yeah, it was easy for you to get them.
I could afford today.
This is the repo.
If you want to get done at the queue is like 500 days plus sort of time.
You can see it's growing and growing.
Growing, so basically we are out to IPv4 public addresses.
We have to buy it if you want something today.
And it's quite expensive.
So the fix is basically IPv6.
It was implemented in the first draft.
It was in 1998.
So it's for something new.
I can be very free.
There are a lot of new things about IPv6.
But the biggest one and the most important one is the larger address space.
So I have 120 bits.
Because if you don't know, basically, the bitmap knows that that's a lot of
larger.
So it's just a number of IPv4 addresses for three billion around.
This is the number of people in the world currently.
My last day, Google said so.
So pocket pocket pocket method.
And this is the number of IPv6 addresses.
It's quite a lot larger.
And that's something going to run out to benefit anything.
So you can probably sustain us a lot of years into the future.
And that's going to try to pronounce the number.
But it's a lot larger.
Also, some resources in this space.
Now, like this time, it's a lot of data that I've before.
And I have this huge circle being IPv6 addresses.
So it's quite a lot bigger address space.
So yeah, it's based on access,
multiple limitations are going to run into the details here.
But it's from the view I've probably seen on IPv6 address.
There's basically no need for that to extend.
There are other space.
There's still some can be so not here and there.
But at least by extending the space.
There's basically no need.
This is the stats from Google from yesterday, I think.
They're close to 50% adoption.
So under users are slowly getting there.
So at least in the last five years,
there's been about 20% increase.
So hopefully it will continue at that speed at least for a while.
So we're like, then under users are getting there.
And also bedroom is likely at 71%.
This is quite good above average.
So the issue is, I'm on a vision site.
I'm talking a lot of innovations, but websites.
Like, I'm on a vision banking is like 19% support IPv6.
I think this is just a phone page.
It's just like the very basic IPv6 support.
So on a vision, I think companies are 25%.
Nature website or the six public services 50%.
But if you also take into account that there's actually a lot of data.
Public services needs to be like physics already.
If the option is kind of that, if there's a lot of data that says that you have to do it.
And like the biggest one, if you are the developer,
it's like it doesn't still support IPv6.
This is kind of sad for shame on all of them.
This basically means that you need to run dual stack.
You need to support both IPv6 and IPv4 for a while.
So if we have something called dual stack, means that we run both.
You don't have an IPv4 and IPv6 address.
And we can use it either.
So if it depends depending on what dual stack is.
The destination is you can use it before or IPv6.
But this means that you need to have a DNS record for all the services you want to use in both.
More than operating systems prefer IPv6 or IPv4, but it's not guaranteed.
Like sometimes it is prefer to use IPv4 even if you have an IPv6 connection.
And that's a lot of complexity.
You need to know that we have two stacks.
You need to secure both of them.
You need to think about security products and hardware rules and everything for both of the stacks.
And for other things, you might end up with some traffic on IPv4 and IPv6.
It's more complex.
For clients, this is mostly still new bed.
Unless you have something called IPv6,
there is actually an in-use on the Wi-Fi here.
So if you have an iPhone, you can actually see that you don't get the superware IPv4 address.
And they are actually only getting like a public IPv6 address here on your iPhone.
It is super cool.
And for services, I suppose to undo services.
This is still needed since on only around 50% support IPv6.
And that service that mostly talked each other,
then why do you need both stacks.
If you have a database server, it is on supposed to talk to the backend service.
But if I do the database server,
I need to have IPv4 on IPv6.
There is no need for it.
So getting into Kubernetes,
IPv6 only Kubernetes has been supported for a while.
This basically means that the pod owner service,
on an IPv6 address,
do you stack with implement on a Wi-Fi there in Kubernetes 1.23.
This means that every pod begots an IP from each family.
So we have basically a dual stack.
So as we mentioned,
then the services can be declared as a single or dual stack support for them.
And then we also means that each pod has an IPv6 address.
Can be a public IPv6 address.
That means that it is basically still needed to think about the Kubernetes,
since it is public IPv6 address.
But there is no need for that.
So you can basically have an antenna connectivity behind the pod,
then you are an user for that service.
This talk is mostly about how running your own.
I'm going to throw that up,
but the mention of the support in this in the cloud providers,
like Amazon, yes,
support dual stack for a while.
It is a piece of a dual stack,
an Azure support,
dual stack,
but kind of when we are nothing in the way it is in there.
And there is like mixed merit to it,
between the providers,
what everything is supported always.
And you can find bugs that are supported,
just access an IPv4.
There are still some issues,
but that is, there is a dual support it.
So yeah, a mention of public prefix.
You are also on the IPv6 on a private prefix.
You can basically have the same as we have in IPv4 and the RFC1918.
That means that you need some sort of netters,
some sort of props,
there is something to the outside of your network.
But it brings a lot of going into the details.
To the public prefix,
basically you need to get the public prefix from your IPv4 provider,
or some sort of have a prefix,
or a locator to you.
Then you divide that prefix up into multiple smaller prefix,
and you will have a locator to configure it in the Kubernetes.
Then you will need to route subnet to the nodes using BGP,
most of the CNI support it.
Also here, because I am going to issue the security open by default.
So if you use to deploy a cube and cluster with a public prefix,
and have no firewall between all the ports have direct connectivity to the internet portways,
so you can have some of them right in the internet.
To a port without anything between them.
So you need to have some firewalls or something between there as well.
There are private prefix.
I mentioned here, we sort of are isolated clusters,
between that we don't need to have some BGP supports.
If you have a home lab, it can be difficult to have BGP support on a home router perhaps.
So you can do run the private prefix.
It can use the disk use of the uniquely local addresses,
like everything I have done it to not be a port.
But that means that you need to use not or process or something like that,
so external access.
To enable BGP stuck in Kubernetes,
this is not just on the different components.
So if you have a cloud cube on the deploy cluster,
you just define the prefix access to the API server and controller and proxy.
And it should be supported underneath CNI support.
And CNI is just standard for how container networking in Kubernetes works.
So defines our port again, I think, address and connectivity.
Also where we see what IPv6 features are available.
I'm using CNI, this is an open source CNI,
the EPPF support or based on EPPF.
The support IPv6 only, I'm doing stack clusters.
The new IPv6 are load balancing, provide,
so we can see that IPv6 traffic are going in,
in internally and outside of the cluster.
So you can basically define the number of servers to be single stack or pure stack.
So you don't have to go into details.
So yeah, and as you talk, perhaps IPv6 only,
I'd be running it for all islands on the cluster,
and it works if we remove IPv4 at all.
It's quite good.
Remove nothing, if you're not a public prefix,
so don't have to worry about anything there.
Each port gets a globally unique IP,
so if we have a lack of a multi-profusters,
we can pair them without any worries,
and there's an IP overlap,
and we have an connectivity without any translation layers.
Two IPv6 services.
Enabling it in C-Lum is just setting the IPv6,
and enable the treatment IPv4, enable the tools.
And you set the IPv6 under the IPv6 and you can get started.
It's simple as that.
This is a small,
we can install it in C-K-K,
and sealium.
You don't have to publish the slides after
or you can get it in there.
This is basically using nothing on that IPv6.
You can run it on the laptop,
or you can download a small IPv6,
but it doesn't have any issues.
You can download it,
but you can see that each port,
port here has some IPv6 address
and also the services,
some IPv6 address.
Then talking about IPv4,
only the services,
as we mentioned,
like services like GitHub,
doesn't support IPv6.
So you do want to have a
question to talk to things like GitHub,
you need to have some sort of layer between.
You can be a bad proxy like screen,
or you can be a register like hardware,
that can be put to the cache,
or you can do something called 6-4.
This is back to nothing,
you can really get it.
It got pretty completely,
but at least,
yeah,
and that basically means that you can have a client
on IPv6 only talk to IPv4 services.
So yeah.
Doing it in production,
like being like the smaller startup,
there was like to use two items,
or everyone is happy,
and the process,
so there's a lot of the first
and getting the best of organization
or port can be a lot of the port,
because people are preferring to use it
like before.
They don't let it down,
they don't like it.
For them,
it's new and complex,
and they don't see the mini-meat for it.
Yeah.
Especially the large enterprises
that have a big pool of IPv4,
or the first style,
like they don't just don't see the mini-meat at all.
Many apps and libraries
use a zoom,
so now before I press,
so it's like,
it crashes when it starts up,
because it doesn't find them at before I press,
kind of,
come and see.
And then it services,
basically in the cloud provider,
like some of them own a support IPv4,
so you can stack again,
and a lot of tooling,
like behind it,
and if you support it from support IPv4,
and it's like,
you feel like that.
So yeah,
a bit that,
I don't think I'm done.
If there is any questions,
I have a few minutes left,
just a minute.
Anyone?
Got me that.
Hey,
you share on the previous slide
that you suggested using a slash 60 prefix,
And then that would allow you to have 16 apps with the next sample, but yeah, okay my question is going to be
How would you feel and don't shoot me for asking if you use something small S-64 for a node if you've got one service running
I don't think it's going to be any issue. I'd go for something with the doc and Docker documentation used to say use the slash 86
Yeah
The app with the six sort can I want to do the never go smaller on a slash 64
That's like so I love this a lot of this discussion around it
Doesn't mention also on like the a slash 64 is mostly seen as like one public IP for others in like turns of like
Things like a regular limiting and a lot of things
It's also done if it's having someone's hit the floor, but you can go smaller. There's no issues
It's going smaller and a lot of examples are the side that you should go smaller. This is just let me do
I deployed a cluster error, but yeah
And
a slash 60 it might seem like a lot of IP addresses if you have like a certain 29 as an enterprise
You have like
billions of like six or
60s so you can go way way bigger if you want without even noticing it in your own in your
address this
No, no
So thank you for your thought
Very nice the eve question maybe
Although I do like IP version four and prefer it's to IP version
Sorry, IP version six before IP version four and
Normally if you have operating Kubernetes class, you put a load balance and front of it
Yeah, so you normally not directly accessing the notes all the parts
so
Besides being modern what is actually
The benefits because in it for IP version four, I still have
I still have like with a tens slash eight. I have an alpha IP addresses for my pots for
And to be honest
To be honest, there's like there's no different going change for all the cluster of that
It's only a today and
The biggest lack of a mention, lots of complexity
So it running through stack clusters might not be beneficial because they're basically none
And I didn't mention like how do I get sense in the cluster because they're from the low-bancers support boats at an or CBN
That's in front of the support posts both stacks
But all of the benefits I was seen if I really did have to cluster
I have
Bring two clusters to together
And then we run running the same IP space
That's not the graphics differening. I think it's also the most
If you're not at least different public you're guaranteed that you put this any so for example if you if you do an
A wire god mash we see them between two Kubernetes
Yes, you don't have the issue of de-caching IP ranges which is depending yes, yes, okay
Okay, this is so this is something I understand
And they are also as the benefit you don't you don't have not on this to IP with six other services
But yeah
We can do one more question real quick, but can the next speaker please show up at the front
Thank you. I'm so two quick questions one of them
So you talked about the routing for
It was showing the prefix at the pods have you investigated whether you can use the XEPV6PD to automate that
So you don't have to fath with manually setting roots
I haven't
See it that up but on the very snoozing be repeat if I go to get the
Pay lower between the nodes and
So if I know so I'll start on it with this year and all of them are
Admitizing your prefix, but I haven't tested that so using the DHP on it
Like I don't know and the other one was you made mentioned that six six
Why when it shouldn't be used at all
If you're there it's like because you have to route the prefix into node somehow using something like not they're using
Beach bgb and then if you don't have that support if it's like on your new laptop
You want to run not just there not necessarily have us public for a public prefix on a really so using them to like not six six
Yeah, I guess
Sorry for the rush. Thank you very much everyone
Thank you