add mtu 1450 for hetzner

This commit is contained in:
2023-03-01 01:54:19 +01:00
parent 1c032c9f5e
commit 60880abecd
4 changed files with 90 additions and 21 deletions

View File

@ -1746,6 +1746,14 @@ body:has(#menu-controller:checked) {
top: 0px; top: 0px;
} }
.bottom-4 {
bottom: 1rem;
}
.bottom-1 {
bottom: 0.25rem;
}
.z-10 { .z-10 {
z-index: 10; z-index: 10;
} }
@ -1762,6 +1770,10 @@ body:has(#menu-controller:checked) {
z-index: 30; z-index: 30;
} }
.-z-10 {
z-index: -10;
}
.order-first { .order-first {
order: -9999; order: -9999;
} }
@ -2045,6 +2057,16 @@ body:has(#menu-controller:checked) {
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
} }
.translate-x-full {
--tw-translate-x: 100%;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-full {
--tw-translate-y: 100%;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer { .cursor-pointer {
cursor: pointer; cursor: pointer;
} }
@ -2164,6 +2186,11 @@ body:has(#menu-controller:checked) {
border-bottom-left-radius: 0.5rem; border-bottom-left-radius: 0.5rem;
} }
.rounded-b-none {
border-bottom-right-radius: 0px;
border-bottom-left-radius: 0px;
}
.rounded-tr-none { .rounded-tr-none {
border-top-right-radius: 0px; border-top-right-radius: 0px;
} }
@ -2172,6 +2199,14 @@ body:has(#menu-controller:checked) {
border-bottom-left-radius: 0px; border-bottom-left-radius: 0px;
} }
.rounded-br-none {
border-bottom-right-radius: 0px;
}
.rounded-tl-none {
border-top-left-radius: 0px;
}
.border-2 { .border-2 {
border-width: 2px; border-width: 2px;
} }
@ -2256,6 +2291,11 @@ body:has(#menu-controller:checked) {
background-color: rgb(22 163 74 / var(--tw-bg-opacity)); background-color: rgb(22 163 74 / var(--tw-bg-opacity));
} }
.bg-blue-600 {
--tw-bg-opacity: 1;
background-color: rgb(37 99 235 / var(--tw-bg-opacity));
}
.bg-orange-600 { .bg-orange-600 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(234 88 12 / var(--tw-bg-opacity)); background-color: rgb(234 88 12 / var(--tw-bg-opacity));
@ -2326,11 +2366,6 @@ body:has(#menu-controller:checked) {
background-color: rgba(var(--color-neutral-100), 0.5); background-color: rgba(var(--color-neutral-100), 0.5);
} }
.bg-blue-600 {
--tw-bg-opacity: 1;
background-color: rgb(37 99 235 / var(--tw-bg-opacity));
}
.object-scale-down { .object-scale-down {
-o-object-fit: scale-down; -o-object-fit: scale-down;
object-fit: scale-down; object-fit: scale-down;
@ -2678,6 +2713,11 @@ body:has(#menu-controller:checked) {
background-color: rgb(34 197 94 / var(--tw-bg-opacity)) !important; background-color: rgb(34 197 94 / var(--tw-bg-opacity)) !important;
} }
.hover\:\!bg-blue-500:hover {
--tw-bg-opacity: 1 !important;
background-color: rgb(59 130 246 / var(--tw-bg-opacity)) !important;
}
.hover\:\!bg-orange-500:hover { .hover\:\!bg-orange-500:hover {
--tw-bg-opacity: 1 !important; --tw-bg-opacity: 1 !important;
background-color: rgb(249 115 22 / var(--tw-bg-opacity)) !important; background-color: rgb(249 115 22 / var(--tw-bg-opacity)) !important;
@ -2722,11 +2762,6 @@ body:has(#menu-controller:checked) {
background-color: rgba(var(--color-primary-500), var(--tw-bg-opacity)); background-color: rgba(var(--color-primary-500), var(--tw-bg-opacity));
} }
.hover\:\!bg-blue-500:hover {
--tw-bg-opacity: 1 !important;
background-color: rgb(59 130 246 / var(--tw-bg-opacity)) !important;
}
.hover\:text-primary-500:hover { .hover\:text-primary-500:hover {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-primary-500), var(--tw-text-opacity)); color: rgba(var(--color-primary-500), var(--tw-text-opacity));
@ -2992,6 +3027,11 @@ body:has(#menu-controller:checked) {
background-color: rgb(22 101 52 / var(--tw-bg-opacity)); background-color: rgb(22 101 52 / var(--tw-bg-opacity));
} }
.dark .dark\:bg-blue-800 {
--tw-bg-opacity: 1;
background-color: rgb(30 64 175 / var(--tw-bg-opacity));
}
.dark .dark\:bg-orange-800 { .dark .dark\:bg-orange-800 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(154 52 18 / var(--tw-bg-opacity)); background-color: rgb(154 52 18 / var(--tw-bg-opacity));
@ -3050,11 +3090,6 @@ body:has(#menu-controller:checked) {
background-color: rgba(var(--color-neutral-800), 0.5); background-color: rgba(var(--color-neutral-800), 0.5);
} }
.dark .dark\:bg-blue-800 {
--tw-bg-opacity: 1;
background-color: rgb(30 64 175 / var(--tw-bg-opacity));
}
.dark .dark\:prose-invert { .dark .dark\:prose-invert {
--tw-prose-body: var(--tw-prose-invert-body); --tw-prose-body: var(--tw-prose-invert-body);
--tw-prose-headings: var(--tw-prose-invert-headings); --tw-prose-headings: var(--tw-prose-invert-headings);
@ -3137,6 +3172,11 @@ body:has(#menu-controller:checked) {
background-color: rgb(21 128 61 / var(--tw-bg-opacity)) !important; background-color: rgb(21 128 61 / var(--tw-bg-opacity)) !important;
} }
.dark .dark\:hover\:\!bg-blue-700:hover {
--tw-bg-opacity: 1 !important;
background-color: rgb(29 78 216 / var(--tw-bg-opacity)) !important;
}
.dark .dark\:hover\:\!bg-orange-700:hover { .dark .dark\:hover\:\!bg-orange-700:hover {
--tw-bg-opacity: 1 !important; --tw-bg-opacity: 1 !important;
background-color: rgb(194 65 12 / var(--tw-bg-opacity)) !important; background-color: rgb(194 65 12 / var(--tw-bg-opacity)) !important;
@ -3172,11 +3212,6 @@ body:has(#menu-controller:checked) {
background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity)); background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity));
} }
.dark .dark\:hover\:\!bg-blue-700:hover {
--tw-bg-opacity: 1 !important;
background-color: rgb(29 78 216 / var(--tw-bg-opacity)) !important;
}
.dark .dark\:hover\:text-primary-400:hover { .dark .dark\:hover\:text-primary-400:hover {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-primary-400), var(--tw-text-opacity)); color: rgba(var(--color-primary-400), var(--tw-text-opacity));

View File

@ -0,0 +1,3 @@
.highlight-file .chroma {
padding-bottom: 2rem;
}

View File

@ -47,6 +47,37 @@ When done use `docker node ls` on manager node in order to confirm the presence
Yeah, cluster is already properly configured. Far less overwhelming than Kubernetes, I should say. Yeah, cluster is already properly configured. Far less overwhelming than Kubernetes, I should say.
#### Hetzner & MTU
{{< alert >}}
Just one last important thing before continue, specific to Hetzner. Their private network is set to **1450 MTU** by default, which is **not compatible with Docker Swarm overlay network**. You must change it to 1450 MTU in order to avoid any further dysfunctions between node swarm communication. Many thanks to [DcapCode](https://github.com/DcapCode) to reported it ❤️. [See here](https://www.reddit.com/r/portainer/comments/qt1mne/swarm_deployment_woes/) for further explanation.
{{< /alert >}}
Recreate the `ingress` network with the correct MTU :
```sh
docker network rm ingress
docker network create -d overlay --ingress --opt com.docker.network.driver.mtu=1450 ingress
```
The trade-off is that you will have to specify this MTU for every further networks that we'll create inside further docker-compose (stacks). Example for traefik stack :
{{< highlight host="manager-01" file="~/traefik-stack.yml" >}}
```yml
version: "3.8"
services:
# ...
networks:
public:
driver_opts:
com.docker.network.driver.mtu: 1450
```
{{< /highlight >}}
### CLI tools & environment labels ### CLI tools & environment labels
[`ctop`](https://github.com/bcicen/ctop) is a very useful CLI tools that works like `htop` but dedicated for docker containers. Install it on every docker hosts : [`ctop`](https://github.com/bcicen/ctop) is a very useful CLI tools that works like `htop` but dedicated for docker containers. Install it on every docker hosts :

View File

@ -1,4 +1,4 @@
<div class="relative"> <div class="highlight-file relative">
<span <span
class="absolute bottom-0 right-0 bg-primary-100 dark:bg-primary-800 rounded-md rounded-tr-none rounded-bl-none px-4 py-1 text-sm z-10 italic">{{ if .Get "host" }}<strong>{{ .Get "host" }}</strong>{{ end }}{{ if and (.Get "host") (.Get "file") }} - {{ end }}{{ if .Get "file" }}{{ .Get "file" }}{{ end }}</span> class="absolute bottom-0 right-0 bg-primary-100 dark:bg-primary-800 rounded-md rounded-tr-none rounded-bl-none px-4 py-1 text-sm z-10 italic">{{ if .Get "host" }}<strong>{{ .Get "host" }}</strong>{{ end }}{{ if and (.Get "host") (.Get "file") }} - {{ end }}{{ if .Get "file" }}{{ .Get "file" }}{{ end }}</span>
{{- .Inner | markdownify -}} {{- .Inner | markdownify -}}