From d0001440b9ef09db1d279093a9c2d50dc147e0cd Mon Sep 17 00:00:00 2001 From: David Young Date: Mon, 22 Nov 2021 16:46:54 +1300 Subject: [PATCH] =?UTF-8?q?Refresh=20Kubernetes=20Guide=20=F0=9F=92=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .markdownlint.yaml | 1 + ...kubernetes-why-full-values-in-configmap.md | 6 + ...ubernetes-why-not-config-in-helmrelease.md | 2 + _snippets/recipe-footer.md | 10 +- manuscript/images/cert-manager.svg | 452 +++++++ manuscript/images/external-dns.png | Bin 0 -> 256840 bytes manuscript/images/flux_github_token.png | Bin 0 -> 124247 bytes manuscript/images/ingress.jpg | Bin 0 -> 93726 bytes manuscript/images/metallb-pfsense-00.png | Bin 0 -> 68388 bytes manuscript/images/metallb-pfsense-01.png | Bin 0 -> 59868 bytes manuscript/images/metallb-pfsense-02.png | Bin 0 -> 39440 bytes manuscript/images/metallb-pfsense-03.png | Bin 0 -> 52986 bytes manuscript/images/metallb-pfsense-04.png | Bin 0 -> 131355 bytes manuscript/images/metallb-pfsense-05.png | Bin 0 -> 111451 bytes manuscript/images/sealed-secrets.png | Bin 0 -> 35517 bytes manuscript/images/traefik-dashboard.png | Bin 0 -> 68375 bytes .../backup/index.md} | 0 .../{cluster.md => cluster/digitalocean.md} | 19 +- manuscript/kubernetes/cluster/index.md | 64 + manuscript/kubernetes/cluster/k3s.md | 139 +++ .../kubernetes/deployment/flux/design.md | 65 + .../kubernetes/deployment/flux/install.md | 134 ++ .../kubernetes/deployment/flux/operate.md | 158 +++ manuscript/kubernetes/deployment/index.md | 22 + manuscript/kubernetes/diycluster.md | 313 ----- manuscript/kubernetes/external-dns.md | 1081 +++++++++++++++++ manuscript/kubernetes/index.md | 71 +- manuscript/kubernetes/ingress/index.md | 19 + manuscript/kubernetes/ingress/nginx.md | 240 ++++ .../kubernetes/ingress/traefik/dashboard.md | 16 + .../kubernetes/ingress/traefik/index.md | 239 ++++ manuscript/kubernetes/loadbalancer.md | 332 ----- manuscript/kubernetes/loadbalancer/index.md | 54 + manuscript/kubernetes/loadbalancer/k3s.md | 27 + .../kubernetes/loadbalancer/metallb/index.md | 287 +++++ .../loadbalancer/metallb/pfsense.md | 79 ++ manuscript/kubernetes/monitoring/index.md | 314 +++++ manuscript/kubernetes/persistence/index.md | 11 + .../persistence/local-path-provisioner.md | 45 + manuscript/kubernetes/persistence/longhorn.md | 3 + manuscript/kubernetes/persistence/openebs.md | 3 + .../kubernetes/persistence/rook-ceph.md | 3 + manuscript/kubernetes/persistence/topolvm.md | 279 +++++ manuscript/kubernetes/sealed-secrets.md | 425 +++++++ .../ssl-certificates/cert-manager.md | 140 +++ .../kubernetes/ssl-certificates/index.md | 22 + .../ssl-certificates/letsencrypt-issuers.md | 109 ++ .../ssl-certificates/secret-replicator.md | 175 +++ .../ssl-certificates/wildcard-certificate.md | 156 +++ manuscript/recipes/kubernetes/kanboard.md | 261 ---- manuscript/recipes/kubernetes/wip.md | 314 +++++ mkdocs-insiders.yml | 4 +- mkdocs.yml | 97 +- overrides/main.html | 2 +- requirements.txt | 4 +- scripts/recipe-footer.md | 2 +- scripts/serve-insiders.sh | 3 +- 57 files changed, 5215 insertions(+), 987 deletions(-) create mode 100644 _snippets/kubernetes-why-full-values-in-configmap.md create mode 100644 _snippets/kubernetes-why-not-config-in-helmrelease.md create mode 100644 manuscript/images/cert-manager.svg create mode 100644 manuscript/images/external-dns.png create mode 100644 manuscript/images/flux_github_token.png create mode 100644 manuscript/images/ingress.jpg create mode 100644 manuscript/images/metallb-pfsense-00.png create mode 100644 manuscript/images/metallb-pfsense-01.png create mode 100644 manuscript/images/metallb-pfsense-02.png create mode 100644 manuscript/images/metallb-pfsense-03.png create mode 100644 manuscript/images/metallb-pfsense-04.png create mode 100644 manuscript/images/metallb-pfsense-05.png create mode 100644 manuscript/images/sealed-secrets.png create mode 100644 manuscript/images/traefik-dashboard.png rename manuscript/{recipes/kubernetes/miniflux.md => kubernetes/backup/index.md} (100%) rename manuscript/kubernetes/{cluster.md => cluster/digitalocean.md} (84%) create mode 100644 manuscript/kubernetes/cluster/index.md create mode 100644 manuscript/kubernetes/cluster/k3s.md create mode 100644 manuscript/kubernetes/deployment/flux/design.md create mode 100644 manuscript/kubernetes/deployment/flux/install.md create mode 100644 manuscript/kubernetes/deployment/flux/operate.md create mode 100644 manuscript/kubernetes/deployment/index.md delete mode 100644 manuscript/kubernetes/diycluster.md create mode 100644 manuscript/kubernetes/external-dns.md create mode 100644 manuscript/kubernetes/ingress/index.md create mode 100644 manuscript/kubernetes/ingress/nginx.md create mode 100644 manuscript/kubernetes/ingress/traefik/dashboard.md create mode 100644 manuscript/kubernetes/ingress/traefik/index.md delete mode 100644 manuscript/kubernetes/loadbalancer.md create mode 100644 manuscript/kubernetes/loadbalancer/index.md create mode 100644 manuscript/kubernetes/loadbalancer/k3s.md create mode 100644 manuscript/kubernetes/loadbalancer/metallb/index.md create mode 100644 manuscript/kubernetes/loadbalancer/metallb/pfsense.md create mode 100644 manuscript/kubernetes/monitoring/index.md create mode 100644 manuscript/kubernetes/persistence/index.md create mode 100644 manuscript/kubernetes/persistence/local-path-provisioner.md create mode 100644 manuscript/kubernetes/persistence/longhorn.md create mode 100644 manuscript/kubernetes/persistence/openebs.md create mode 100644 manuscript/kubernetes/persistence/rook-ceph.md create mode 100644 manuscript/kubernetes/persistence/topolvm.md create mode 100644 manuscript/kubernetes/sealed-secrets.md create mode 100644 manuscript/kubernetes/ssl-certificates/cert-manager.md create mode 100644 manuscript/kubernetes/ssl-certificates/index.md create mode 100644 manuscript/kubernetes/ssl-certificates/letsencrypt-issuers.md create mode 100644 manuscript/kubernetes/ssl-certificates/secret-replicator.md create mode 100644 manuscript/kubernetes/ssl-certificates/wildcard-certificate.md delete mode 100644 manuscript/recipes/kubernetes/kanboard.md create mode 100644 manuscript/recipes/kubernetes/wip.md diff --git a/.markdownlint.yaml b/.markdownlint.yaml index ba37377..b10aa8c 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -13,5 +13,6 @@ # We use fenced code blocks, but this test conflicts with the admonitions plugin we use, which relies # on indentation (which is then falsely detected as a code block) +"MD038": false "MD046": false diff --git a/_snippets/kubernetes-why-full-values-in-configmap.md b/_snippets/kubernetes-why-full-values-in-configmap.md new file mode 100644 index 0000000..df02b71 --- /dev/null +++ b/_snippets/kubernetes-why-full-values-in-configmap.md @@ -0,0 +1,6 @@ +!!! question "That's a lot of unnecessary text!" + > Why not just paste in the subset of values I want to change? + + You know what's harder than working out which values from a 2000-line `values.yaml` to change? + + Answer: Working out what values to change when the upstream helm chart has refactored or added options! By pasting in the entirety of the upstream chart, when it comes time to perform upgrades, you can just duplicate your ConfigMap YAML, paste the new values into one of the copies, and compare them side by side to ensure your original values/decisions persist in the new chart. diff --git a/_snippets/kubernetes-why-not-config-in-helmrelease.md b/_snippets/kubernetes-why-not-config-in-helmrelease.md new file mode 100644 index 0000000..6d94f5b --- /dev/null +++ b/_snippets/kubernetes-why-not-config-in-helmrelease.md @@ -0,0 +1,2 @@ +!!! question "Why not just put config in the HelmRelease?" + While it's true that we could embed values directly into the HelmRelease YAML, this becomes unweildy with large helm charts. It's also simpler (less likely to result in error) if changes to **HelmReleases**, which affect **deployment** of the chart, are defined in separate files to changes in helm chart **values**, which affect **operation** of the chart. \ No newline at end of file diff --git a/_snippets/recipe-footer.md b/_snippets/recipe-footer.md index 6de27f2..c0aacc9 100644 --- a/_snippets/recipe-footer.md +++ b/_snippets/recipe-footer.md @@ -4,11 +4,17 @@ ### Tip your waiter (sponsor) ๐Ÿ‘ -Did you receive excellent service? Want to make your waiter happy? (_..and support development of current and future recipes!_) Sponsor me on [Github][github_sponsor] / [Patreon][patreon], or see the [contribute](/community/support/) page for more (_free or paid)_ ways to say thank you! ๐Ÿ‘ +Did you receive excellent service? Want to compliment the chef? (_..and support development of current and future recipes!_) Sponsor me on [Github][github_sponsor] / [Patreon][patreon], or see the [contribute](/community/support/) page for more (_free or paid)_ ways to say thank you! ๐Ÿ‘ + +### Employ your chef (engage) ๐Ÿค + +Is this too much of a geeky PITA? Do you just want results, stat? [I do this for a living](https://www.funkypenguin.co.nz/about/) - I provide consulting and engineering expertise to businesses needing short-term, short-notice support in the cloud-native space, including AWS/Azure/GKE, Kubernetes, CI/CD and automation. + +Learn more about working with me [here](https://www.funkypenguin.co.nz/work-with-me/). ### Flirt with waiter (subscribe) ๐Ÿ’Œ -Want to know now when this recipe gets updated, or when future recipes are added? Subscribe to the [RSS feed](https://mastodon.social/@geekcookbook_changes.rss), or leave your email address below, and we'll keep you updated. (*double-opt-in, no monkey business, no spam) +Want to know now when this recipe gets updated, or when future recipes are added? Subscribe to the [RSS feed](https://mastodon.social/@geekcookbook_changes.rss), or leave your email address below, and we'll keep you updated. --8<-- "convertkit-subscribe-form.html" diff --git a/manuscript/images/cert-manager.svg b/manuscript/images/cert-manager.svg new file mode 100644 index 0000000..e3aedf3 --- /dev/null +++ b/manuscript/images/cert-manager.svg @@ -0,0 +1,452 @@ + + + + + + + + + + + + + + + letsencrypt-staging + + + + + letsencrypt-prod + + + + + venafi-as-a-service + + + + + hashicorp-vault + + + + + venafi-tpp + Issuers + + + + + + + + + + cert-managerCertificatesKubernetesSecrets + + + + signed keypair + + + + + foo.bar.comIssuer:venafi-tpp + + + + + example.comwww.example.comIssuer:letsencrypt-prod + + + + + + + + signed keypair + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/manuscript/images/external-dns.png b/manuscript/images/external-dns.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee8e0753172768e52a40fe936674e050f80a9ae GIT binary patch literal 256840 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

Ci0>wh=Lg}%=7O{fQAv1|mpQSH_IQ6*s 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%0D3vJ)FU4)C* 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μ#uZ?a&eUOIbrd5C8XA)Y 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

NYF&`qrmW5=5U`lK)pJ6^v{ZWZ|pj4N>BEvul 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 literal 0 HcmV?d00001 diff --git a/manuscript/images/flux_github_token.png b/manuscript/images/flux_github_token.png new file mode 100644 index 0000000000000000000000000000000000000000..b3e7c30875417ea07d8e90b839a9d74180bf45d4 GIT binary patch literal 124247 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

X)HDa=4z>1C{BaH}mGR-AjE>M5e8eM_bcu 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

=(gye=mI82xk_#f~WP2@ReQDBo;V>!_NS$Z2gi9 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

Dg+?QuRdwv|9v;OaVbb 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
#2iweJ{`?9!cF*0LH;`C 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

hOx#$jQ$9p1MCpg>8%x?n=-6K&6 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 PQ~RjjA!egyf6x5~Dzr|f literal 0 HcmV?d00001 diff --git a/manuscript/images/metallb-pfsense-00.png b/manuscript/images/metallb-pfsense-00.png new file mode 100644 index 0000000000000000000000000000000000000000..b707085522dfccc6110f185933dca5644955fac9 GIT binary patch literal 68388 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 YCQycJx9QTv{|5f3DrzZI!A*ny2SSnM>Hq)$ literal 0 HcmV?d00001 diff --git a/manuscript/images/metallb-pfsense-01.png b/manuscript/images/metallb-pfsense-01.png new file mode 100644 index 0000000000000000000000000000000000000000..2be4759ecc9b2e2c0d9a93fe82e5606465b0d831 GIT binary patch literal 59868 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 literal 0 HcmV?d00001 diff --git a/manuscript/images/metallb-pfsense-02.png b/manuscript/images/metallb-pfsense-02.png new file mode 100644 index 0000000000000000000000000000000000000000..55bcdc2e23dbaf4c774fb5bb208d4a926b185a86 GIT binary patch literal 39440 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 ^wdzXSfHDRCJF2e zXsy$m5PhZAs9V%iV=w)SQ#W3q?G`DwDsLS@-F?$wMN zcYdsedGo8*k87^uoK<{Qly{5AWoH;POWV0AGf8(9xuhHHMKyhL1U2?XyJY9(J&lOU z#H@SJVGfg~M{tC%aU;Y#SpR+ki);f#DNwd4sj*cP`f!os3pI9nBpAMRoOKCgyU*#U ziY_^JKbs;TD(C-X2B)Zh964%`ZsCQeJ9}{-rVf{kr+jUF9BuSu+WK@c*4OI1JtMKZ zhf{tEwe0|<dj6yTCpPZxni+WmkYk5 zi*JRIIuK#g1I5gL;pU5Dd1~xs#&~}lqVNs@=lKgOW^q@SZXmR%-))kc>DSWd0%*o_ z1X_%FtEy z zZdeLf0r@Dh%3q8xGR6kKrgyCJAB99$%P7k*ch3!Sb2;W^DN6ERiu^`l(*c^eXQuZM zyMXJ5C@LWu`jRxpUqya4nFXWDF80*&-6{KBBs0(y(+5%Yx5`#*x`ckYfEqzA19GX7 zs&G}3fVBRfJ|OB+WOOW%CnrPL*VIuCh83#VZjgxU2(}0z)|CWC8fn$?aT2q4i8yyJ z$j0#^FMu^7siTEgksM9{TbseabC3Ok@Y1Yp!9pEdfJ7Uh-%Ddadd{|t>bhcp1m-FzI`#BFpvDbT8!gt2GWjglTs&}7IR2F5} z$+>JbauD7i)`N5IXZ|-ccdKP8N#_A zCvb`km{R*vwh8B)=NTT;K^+T-<}&8oan6+2hgwDPD*b8pWP%8f1(R?y@hklK+%7qo*jzT~ zPtP}7x}WVov-?7~)^J}5#r7y!x zxzB5Ipcr*b0QN5_!3$pOoQ2=5N3~dH@6A}fzf77PQp9Xmdy|Kq2GTQJH~iFX+4FX1 zu4biCD?*h;MgZiSV{p(hQ%!5di<57YwM|Lgb8Ca<<> z`-u*pI!svP$+D`=-6Y-mOHoc&NW?iF46h-{S}3h9v--Avt0mK7HXC@fA=)@Z3F+7} z!#VqA#Z}qTH4T3nTU)bblW`D>!~SAt1mXs@1UapOP}gx^4whC|cZD>vzQNdi*}i4q z6bWzPz##xRRAxNOv5UBNy_3CMqbHAm2$fZ1KMbAtH5zls?PHwrFyD6+LP#VoeONe! z7lR5T6{{gPs-<0!3@(eN+pFD-zUvGEHeJpN(VpIJKm=g)@%Cy~c_<2hlKhcXyN(KU zvt$SHb5cKO=oczvetSlJYc_A-8GD-rPPrwid1Jg{w8qS23qnH<7^{5kcZzYwvI#No zU#79QdCQth*n3GP^srwvO&ZX8eqI!s)}JtnGIVLhlq-w-AmgbuQ&p9Cw;d~IkpZSi zJKuPr+2>#vS@Q}#rCqISjsN{H-)*`AY5@pv(B*hLTwqeioEt*)sp__Ev8+IRGlBOF z;5oeXPSp*lr5gs0zibh9BYSI)y*JcyK*lLHD~6tgwe+2(e6-GEHVrm>w>r0Jkrn-K z8uJDMF&8OeDPVW>)*m!Ml#@cY`ad4iZUe8dCe;O9BInl$FL;>p+`0#&6R=b^V54y; zaPsUU;#SN+Su+klIgCSpZ)XVZeKDh%)ezlkheYg<_efwWtTPH0n1q%Q0;O~*_@2)D z%-SP8W!0NAFB~q;#P20LJWfp8KR{0ccc9s+>kweRL&FGN+xd=Au|n}QATrVOFM54eM5yb+4izXXaYYw5CaW$NeI~P%;bu;H-M$NlM|?GMUpa&6&mVS|F&GxmWExIiy{#EM&zd_n1qwC5Gt3{V&-+b!-X z-SsUSJtYK813eom94wHA&_2`Tn5t;qT)*GS^q5ot`T_IydlkFJo`=R-6R2czl_`{S zCxx#*=fnCQFVvTiNt;OKo1&y_`R)+Tudd-JwEA#3dUf$RYd~F$vC*|N-OOL}BuhvZ z*;;}$H}tvNN|H>3Mf&m?U38Vz5kEnt$aal6@_D4h`g1JvE%;wys7uWas>_My%v%Ra zw_$K{;jkYsLV4PoAg*E&qZ+m$Qf{L!D+uF#mQo}}XZY`oEam5Oe(H<%Hbw@i*fIp+ z*_sTrDr&qJ#Pv{);}p!0ywPvWo?&%6=*j~N;wzx?~}lK%7x{kq0vDMkajRZ21BSnDo0tam+c0#J6@VKxfEVM7g^E9z?g(5 zJgS7iX{*^WE1(yJzCY%RV!D~YZL2!&^H3wKXTJecg5YnXhne&({??fsydtWjGsbPe zCOKIAfTs%*OU5ioi~6n+I-Io-iQG-)-Ouwb7scCFiSK=A*fZ`K z`i%u;3@YLnh@R+xFdL{@?zVk0EHKd_hY;En?dhuY{uVxenIncH*L@+!&aiM{(JGG| z>3y+_ysc0k@uoP`&3lu)7dsk|&P#DX2Mz&isDHRX2%$YiQe+2Z%hh6U>9?}Ft**&~ zfdnRZ{O``NDSDjjMm5#f3>fkPP~ey>a4t{=uf?beIbd;qFoSlma_JKW(Ho*_NMn(z zw*3}!IW{%%)*Yjfnh6mDPqF1dh za6n(#N$!T1aS(8FWoLP{egKua!8j^=l(DXEu;%iM5$$jw!C3j=WPevj>>KP%1`*u3 zBT5_XiD*%EYEcJ}3rzYk0;Abe?zZD?T-v=`l&a(eJ$V0_J}9!Hf#0{f$*bGmNFw1M;zkjc}hhz{;2-p zYh~Y?f;y#nex~%MV)d!-9f#2KiBUd6IsqfoM~z|tMXO9UPcAy1e)-*s>!c7Qyj4;` z_$aqdQ#KbLRiLSgR{DF=GqGOeoB(Pgd+E%8Youz1DH(GN+&g@p_Kfp!h@w7lHx(GV zNW^|GV=;*kZ|usO%9NL5(R`A4?szgjJj1>l@7nUrA0`Av)mXxiF)7#IF@X)Ell?ygaTMstR7fSt;Tj*}`F#o=D=mbgZ(4|N4{9;F6in_}D&JOe$0 zqUdj9TdjEu-ha%DJn!LCuMmB@7$l#u)@_a^#vd^adUs&&+fG9$U@1{O^eRK1XBTaT z`>bow$5wE5g>8mhlDAcjZ?CJ>I1qWbQ}he15u}MdmR`W9V$wqi$a4nd&Z8nX76J<9 zvJ~G7l4@8&On09}Lk2H@UBIclF_h3%@$C(@mHp*}isEI}NB$Ti9X){I=DKvExc>JtcsR6Q9c`X`lA!zCdl zhbQ?xL3iFbLmA{>E9xY63}vPfYapJL+sxBO|HKUEt>GacA)oTa=a~tvlicL6-X0b` z5Bg5(ybZ&t4VinC9!f(%tOdqP-EJ3zHR)ERtGAEKP6?7TVpx=xB@8P}I=eL5Q=%JB zV{*Tw%i%rerKm4|Khl4DmLYRrTkYUgnab8>16-;r#(A@vcQ<-4_W7Xg7pF3XgwXdR zyMbPwFPTX!c;+93L}1@Tj*YvT{5Harx6*Yz0*>AE_$TXaRK=PK6C(1zcU2rp_XPL0 zbtpW(yjeq5sijB!DJ|QrJwF)td#|a(*hb~*r z2bRPYLdVFm4e*vKdiMPg2X<7s==r#7cSX~^aFd`q<9QV9*_&5#YKdZBzL%>^jYe)- zNECbl0OBHW#iB-0&UonlJI-!6V!roNf%Mp=%=v~;g?!QtuvxsFBh@y9#>gNII0BnT zhNgnQSt)Q}0)tL1nz(5ZRh{#6{JBLf) zsJ&P5oobKp17So1japl@j6N0+#fH?B8~+nwv9CT%x8-EI_MR_|zZCj7H|8`sJV%tg z0Y7HJP;!puMWccGT27~Cu2et8s0ko&OHQ#5tGk`Z6yAb$R2~rT%EriJeik{T)b=`& zftlvhS3tkJYQ)g6h5y_c~I>lkQ=6-P0nnfBTYa}t#b z4FcF|Xpaobb3Kfz*PDxNb6t07-Gu=h(?L~JKGd99ddUXA>S(rqetGHhzVV{S_E za#(cIDBhGpR7Mmp3F^gS$#c-C<72HZ$8%c6&UOGnq>W7^g;B?f3jw9)cRObl?eshopw44g1!T80(xyhAhP z@rfO&FWH6PD)JjyQ_fj1!@qlMH+|ITeK@SivBC{5Ayh0khPc93l-d*RXh z>}Fi|VyDI)cV1W!Hn+C;`7o_MY41JfCj~@=w7?p;Ti17WWxfpgP3ogp6+g-@-JkjY z?x5SL{9Jn=oaCT(zn!z~TPQASk&*Us#(K>Ny&kKU4*o3&!R9Ufb5;DOt>^Q4(6IFZ z%^(&Q%0faH&%Ig(EQORp0ze2spH)-#+e_`>Bs){(#{BWhjC9b$zqVon z*cCueZ>SQX;Fc&+CyrcsiYE7GZT8a=IXxrG>~LuK-K)|KlbA(O`5ALA@V0#Bo$HJA z9`C$C_2brW*N>d^U<7)4#f~TE=Gn#S0Z5YL)t#k~t1BU(*Lmr%`=~OzUtH95{S>z+ zH6xgH1h?9)HHv!ztlocv+TLET%;Zz8QIN>&qG!P6ciPw6zG5L#UrJV#grks(yCr^+ zhhH&zJLC?kt{Kdp@*O0nyKf+FYlzaUe;gAY7crqQaie4#V4wx^RjS;T-u%F8m#(&3 zg7+9kKISs8ryLs!*Upds0Q;ytnP%#d?~b(_uG9cJp}?IM(Cf4ywZnU7`D;MybKan? zvM(u1|Iw%)*{Gx;&$)ZbTgJDI^)N)%g*Wc&rR6>YK6yM02#L z#)}U271l|Ede#(F_9=hKlCq{ehm? zEMs_vB)tsdGxh;doGiBH{ca;JVq@{J>M;&ljA)W9KN7E-j4xHDCNt6;npMTldo+Y< zesP3SQ_!v$oh=1@kyN0W555baN0>w~vMMkZlR_$D#(<+S#719}wL@e5iL6u+umgt} z`Y8rA-PP^ihdE9{hTZDWc`H zV)*$wjbn|ay;0Q}()-@<^@^6`TPf@-2ik1XGj0^JTuQvsyB&_z@N+uz7$T;q7fgKq z?yI$u%g|o#P+zw1gGOfaPNpgnIJLJ(&o#-xEez?y^&lJjNhL^|;C z-L|iKmh-QmN)~DT5?mMFDq4hch88xDy2{LZ7BW&$$ZD`bhF>% z0t?==w?hUOgXYv;!3_Qu7ZQKkA3|FzIaS6?W0v`ep2``WFtOqCU3w!m9qn);n;PTI zV^Z!13%I)!)1CPp1yyRwMk>1CW`CnFti-V{^L7zgO*pY z2;=1X6h><0#)gB{&+KQsN6k}KhaVYhIg}+>#!})(!e<|o*1#zu7+8R&_C&g^X_@E1 z?W&R6m5gHb3;TY7Q67gBU)kCQe39m|qhUhq;uY70+sThvqXNmDtSmgfa00p+?peC1 zvMPMj7rEBVfD1XE4%B9u8H$VEpm-QrW4{D`{$~9%K*#qu90-3+xp8<~Wu0H9+i=DH=qhr$@eNBifLl zLet~DVC%;QWk$ED*CF&`OBQ1-{<-Q*Y)!>e`0?T&SbyUAl&{b_0Sh7?KejdrAQ97r z`Y{P2W3F{hqTL&s(6WXgFd?i^<|5SOJ<7r6rI(gQsTzFI5PzG`IzJ%%gD9SYsa?a` z22wIW?#Q=B%Y=xBeJ|+9xQ9S=N_d;&NdY^emjsdA_U#u)tl`6B2M*$dFo-%+>g=_N zYS7q!mq<8G3?8pc@NGN83n>S<#+867mF|Tt&lHqyahgHt8t?`TlA^upp;o;@`cH;5 zoT`x*6#v7P zR0xfbTMs8GK|z!Q<)6TAVGH>!TtU2RAhjt<5Z0EE4Yi>XK$v5f42WeTxk+A{u$el3 z?A$O`5s|X0Su^HD|4gMs&F1bH{*cWE{E!Q@dD~HX$8@mB`u6O{9_|`Twold|+>Gai zz0uhL$0{4n7i*$?j)<$^TX<>|lU@u+a8o#|&HwLPP4CRwfI1TB=FLUe2=* zK!XB~DM1X@w7jI3DHSSG8Q zm4=hi@G{yenA4#>eU?0W(1L`e^&`pKT=rTL-M;xI@7xAPPUZXbc#3Rmcd}Dv3!io@ zHP7B;0XqO%U&0y&pgw6ZIey+e_2I`)H-n`$Hxw#EGF2o9GK~;R_0rHy=j^D6L$V^^ zOl#NT;ArN+6gMZ11G3M>to$^7@wGNHS<+qFr*e!4F6`mMJ%{u?1?`!!9(83kK#~lD zj;e%SGE8(}?L)E~>7_mq3e_gNBs^O}onk@YcoQ8hStvL&rdKG`m-06BvhY_b9QX5e z!`H-0%pAR)^NzG7wSA=^Zn{@(2*Sui&syOkf%uVuJTCli><`o_Frg&EqsT1AY> zJMWdQan6o7C#C6D)^6@Rf({SVCp^XT8*#jRsf;Mv&o}^fCi5m?)BbJeLHwJ^bl*_` zI(pZLYk(HX5LJEQCtT``QFwgaQ~F$dJn6PFJf_GzS7Q;$cc_wr>oLrI+`>gayrl|K zM%jn9m^DsEcECUJO3&R&2Wo~|too7yH9RRJClTJ9)eQQI4Q~L?0nTkhM>voi0+(iL zc$$5agUgM_J5EGvn%{sIxoDfZ)}17UEmyhB@Rmf+yd7VYd|g3Fj$AzuLo4Cp85XnXQ&t$rx;+>Dicv5T+U=Li|xtB{pf5&OdInQC>Y|lIAFv?lC7@J zeL=*uhyIdFGRdU5dU>$ybGSK@*Q!h*6H^}f1PzHZ@UFm^vn%lBXjr zmI4{FnD=qL44GMyPgn!D4M-6_lLS^?#!<)D*qWRb-GBS`^ZL)QEKg?+SeuLzlXdpm zQ~IjuD>qWfM|5vWMxmXdgh2v0NHr^MY`&r7HmnHGj8l7{RW<7tjx#4IH0}>k)ozqw zY>1&si6Q_jvIlU{B(_*KGKZo_!oJUQ3$SZ<+g#lUE5kG*XRu^|2$z#ZGD8vIl$8;FI2WmBOCY$@#^FF_LTSV72Ea5WrlQ*w)A9pfvdB9U_ZSXNz zf@oJdj$Os?4o~eFoe2f@GMl@)ZgC7(=uZ>Z8nLB5GwI{4p%DY|K%n>942lMGkT^AB z=DD|Vr)V1cRFYm>8y z&qj#mgg%NA?Sy&XFbCSXdPw^fP+=R!SZu9_gIp{l>T@f^#Wzr5GKB1E4 zo&u-~5fZeF_hHx2qAUb=7&~aT(zjN}ge$m6S76}ONT@FX(d?&iVRz!N>6&F4?2)8L zcWn3xGYtErF^`;kLrN|4oM+YhO;LDEZu3q4_AQT)@{kfZeMX2=jy@a9>qU8(=V@p6 z0X>-8GZ#*f-VM*&^f{@OL+l0f|0G@9X+_&Epy8_6PMGt((w^kOUv7eK1!xhPV4wTQ17+Lh%!6D0VxRsNf_3e1d8Ke`HF6yokBTF6JDTp*`bIo;LH?VUC z0(OpBE%%ULKEw2+U25s1#b|n75H~)TKe;zD)|BE+5;KZvllC}g^LQvWpmpNjII<;vgy_~Kt;219uN8y10n6NpNq;s|R~mg9l? zCsA|<7Wqy5k#{o$q_7Un?DzhOdcQz1fN-Ik1=^O_$!I8u^R2-9_O#7C>vMygeoGG` zX}`PC(-z^jAB%3&a46*Y4<9n00|i%1pgFn;d$4w=*Y&8qz|Df0>vGp+&RIz3%@Q+f z*e7n+^(jL?yepYi-N4>_IU9FA^nH!^

>Im_w1 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 literal 0 HcmV?d00001 diff --git a/manuscript/images/metallb-pfsense-03.png b/manuscript/images/metallb-pfsense-03.png new file mode 100644 index 0000000000000000000000000000000000000000..b6953ae64204677591e91e4be6c89d9a2b670d2c GIT binary patch literal 52986 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

~++^!cM>Hqez;-P%P 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

  • Zrdv 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Ξ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 F{|AlI2?_uJ literal 0 HcmV?d00001 diff --git a/manuscript/images/metallb-pfsense-05.png b/manuscript/images/metallb-pfsense-05.png new file mode 100644 index 0000000000000000000000000000000000000000..75f7b43e826c1d396dcd223319e58dafa70682ce GIT binary patch literal 111451 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�K8O4*hNoQc$``w!wIw0cq>Y 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 KS(V9+guelt!MG;? literal 0 HcmV?d00001 diff --git a/manuscript/images/traefik-dashboard.png b/manuscript/images/traefik-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..b25c5979ae311b721a4923e658219b38b1c3a2c7 GIT binary patch literal 68375 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�VQ~lS@WHV*|UxO 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 literal 0 HcmV?d00001 diff --git a/manuscript/recipes/kubernetes/miniflux.md b/manuscript/kubernetes/backup/index.md similarity index 100% rename from manuscript/recipes/kubernetes/miniflux.md rename to manuscript/kubernetes/backup/index.md diff --git a/manuscript/kubernetes/cluster.md b/manuscript/kubernetes/cluster/digitalocean.md similarity index 84% rename from manuscript/kubernetes/cluster.md rename to manuscript/kubernetes/cluster/digitalocean.md index 56cf0a2..97bbe29 100644 --- a/manuscript/kubernetes/cluster.md +++ b/manuscript/kubernetes/cluster/digitalocean.md @@ -1,3 +1,6 @@ +--- +description: Creating a Kubernetes cluster on DigitalOcean +--- # Kubernetes on DigitalOcean IMO, the easiest Kubernetes cloud provider to experiment with is [DigitalOcean](https://m.do.co/c/e33b78ad621b) (_this is a referral link_). I've included instructions below to start a basic cluster. @@ -39,7 +42,7 @@ DigitalOcean will provide you with a "kubeconfig" file to use to access your clu ## Release the kubectl! -Save your kubeconfig file somewhere, and test it our by running ```kubectl --kubeconfig= get nodes``` +Save your kubeconfig file somewhere, and test it our by running ```kubectl --kubeconfig= get nodes``` [^1] Example output: @@ -69,18 +72,6 @@ festive-merkle-8n9e Ready 58s v1.13.1 That's it. You have a beautiful new kubernetes cluster ready for some action! -## Move on.. - -Still with me? Good. Move on to creating your own external load balancer.. - -* [Start](/kubernetes/) - Why Kubernetes? -* [Design](/kubernetes/design/) - How does it fit together? -* Cluster (this page) - Setup a basic cluster -* [Load Balancer](/kubernetes/loadbalancer/) - Setup inbound access -* [Snapshots](/kubernetes/snapshots/) - Automatically backup your persistent data -* [Helm](/kubernetes/helm/) - Uber-recipes from fellow geeks -* [Traefik](/kubernetes/traefik/) - Traefik Ingress via Helm - -[^1]: Ok, yes, there's not much you can do with your cluster _yet_. But stay tuned, more Kubernetes fun to come! +[^1]: Do you live in the CLI? Install the kubectl autocompletion for [bash](https://kubernetes.io/docs/tasks/tools/included/optional-kubectl-configs-bash-linux/) or [zsh](https://kubernetes.io/docs/tasks/tools/included/optional-kubectl-configs-zsh/) to make your life much easier! --8<-- "recipe-footer.md" diff --git a/manuscript/kubernetes/cluster/index.md b/manuscript/kubernetes/cluster/index.md new file mode 100644 index 0000000..427db65 --- /dev/null +++ b/manuscript/kubernetes/cluster/index.md @@ -0,0 +1,64 @@ +--- +description: Choosing HOW to deploy Kubernetes +--- +# Kubernetes Cluster + +There are an ever-increasing amount of ways to deploy and run Kubernetes. The primary distinction to be aware of is whether to fork out for a managed Kubernetes instance or not. Managed instances have some advantages, which I'll detail below, but these come at additional cost. + +## Managed (Cloud Provider) + +### Popular Options + +Popular options are: + +* [DigitalOcean](/kubernetes/cluster/digitalocean/) +* Google Kubernetes Engine (GKE) +* Amazon Elastic Kubernetes Service (EKS) +* Azure Kubernetes Service (AKS) + +### Upgrades + +A managed Kubernetes provider will typically provide a way to migrate to pre-tested and trusted versions of Kuberenetes, as they're released and then tested. This [doesn't mean that upgrades will be trouble-free](https://www.digitalocean.com/community/tech_talks/20-000-upgrades-later-lessons-from-a-year-of-managed-kubernetes-upgrades), but they're likely to be less of a PITA. With Kubernetes' 4-month release cadence, you'll want to keep an eye on updates, and avoid becoming too out-of-date. + +### Horizontal Scaling + +One of the key drawcards for Kubernetes is horizonal scaling. You want to be able to expand/contract your cluster as your workloads change, even if just for one day a month. Doing this on your own hardware is.. awkward. + +### Load Balancing + +Even if you had enough hardware capacity to handle any unexpected scaling requirements, ensuring that traffic can reliably reach your cluster is a complicated problem. You need to present a "virtual" IP for external traffic to ingress the cluster on. There are popular solutions to provide LoadBalancer services to a self-managed cluster (*i.e., [MetalLB](/kubernetes/load-balancer/metallb/)*), but they do represent extra complexity, and won't necessarily be resilient to outages outside of the cluster (*network devices, power, etc*). + +### Storage + +Cloud providers make it easy to connect their storage solutions to your cluster, but you'll pay as you scale, and in most cases, I/O on cloud block storage is throttled along with your provisioned size. (*So a 1Gi volume will have terrible IOPS compared to a 100Gi volume*) + +### Services + +Some things just "work better" in a cloud provider environment. For example, to run a highly available Postgres instance on Kubernetes requires at least 3 nodes, and 3 x storage, plus manual failover/failback in the event of an actual issue. This can represent a huge cost if you simply need a PostgreSQL database to provide (*for example*) a backend to an authentication service like [KeyCloak](/recipes/kubernetes/keycloak/). Cloud providers will have a range of managed database solutions which will cost far less than do-it-yourselfing, and integrate easily and securely into their kubernetes offerings. + +### Summary + +Go with a managed provider if you want your infrastructure to be resilient to your own hardware/connectivity issues. I.e., there's a material impact to a power/network/hardware outage, and the cost of the managed provider is less than the cost of an outage. + +## DIY (Cloud Provider, Bare Metal, VMs) + +### Popular Options + +Popular options are: + +* Rancher's K3s +* Ubuntu's Charmed Kubernetes + +### Flexible + +With self-hosted Kubernetes, you're free to mix/match your configuration as you see fit. You can run a single k3s node on a raspberry pi, or a fully HA pi-cluster, or a handful of combined master/worker nodes on a bunch of proxmox VMs, or on plain bare-metal. + +### Education + +You'll learn more about how to care for and feed your cluster if you build it yourself. But you'll definately spend more time on it, and it won't always be when you expect! + +### Summary + +Go with a self-hosted cluster if you want to learn more, you'd rather spend time than money, or you've already got significant investment in local infructure and technical skillz. + +--8<-- "recipe-footer.md" diff --git a/manuscript/kubernetes/cluster/k3s.md b/manuscript/kubernetes/cluster/k3s.md new file mode 100644 index 0000000..970b939 --- /dev/null +++ b/manuscript/kubernetes/cluster/k3s.md @@ -0,0 +1,139 @@ +--- +description: Creating a Kubernetes cluster on k3s +--- +# Deploy your cluster on k3s + +If you're wanting to self-host your cluster, the simplest and most widely-supported approach is Rancher's [k3s](https://k3s.io/). + +!!! summary "Ingredients" + + * [ ] One or more "modern" Linux hosts to serve as cluster masters. (*Using an odd number of masters is required for HA*). Additional steps are required for [Raspbian Buster](https://rancher.com/docs/k3s/latest/en/advanced/#enabling-legacy-iptables-on-raspbian-buster), [Alpine](https://rancher.com/docs/k3s/latest/en/advanced/#additional-preparation-for-alpine-linux-setup), or [RHEL/CentOS](https://rancher.com/docs/k3s/latest/en/advanced/#additional-preparation-for-red-hat-centos-enterprise-linux). + + Optional: + + * [ ] Additional hosts to serve as cluster agents (*assuming that not everybody gets to be a master!*) + +## Preparation + +Ensure you have sudo access to your nodes, and that each node meets the [installation requirements](https://rancher.com/docs/k3s/latest/en/installation/installation-requirements/). + +## Deploy k3s (one node only ever) + +If you only want a single-node k3s cluster, then simply run the following to do the deployment: + +```bash +MYSECRET=iambatman +curl -fL https://get.k3s.io | K3S_TOKEN=${MYSECRET} \ + sh -s - --disable traefik server +``` + +!!! question "Why no traefik?" + k3s comes with the traefik ingress "built-in", so why not deploy it? Because we'd rather deploy it **later** (*if we even want it*), using the same [deployment strategy](/kubernetes/deployment/flux/) which we use with all of our other services, so that we can easily update/configure it. + +## Deploy k3s (mooar nodes!) + +### Deploy first master + +You may only have one node now, but it's a good idea to prepare for future expansion by bootstrapping k3s in "embedded etcd" multi-master HA mode. Pick a secret to use for your server token, and run the following: + +```bash +MYSECRET=iambatman +curl -fL https://get.k3s.io | K3S_TOKEN=${MYSECRET} \ + sh -s - --disable traefik --disable servicelb server --cluster-init +``` + +!!! question "y no servicelb?" + K3s includes a [rudimentary load balancer](/kubernetes/loadbalancer/k3s/) which utilizes host ports to make a given port available on all nodes. If you plan to deploy one, and only one k3s node, then this is a viable configuration, and you can leave out the `--disable servicelb` text above. If you plan for more nodes and HA htough, then you're better off deploying [MetalLB](/kubernetes/loadbalancer/metallb/) to do "real" loadbalancing. + +You should see output which looks something like this: + +```bash +root@shredder:~# curl -fL https://get.k3s.io | K3S_TOKEN=${MYSECRET} \ +> sh -s - --disable traefik server --cluster-init + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +100 27318 100 27318 0 0 144k 0 --:--:-- --:--:-- --:--:-- 144k +[INFO] Finding release for channel stable +[INFO] Using v1.21.5+k3s2 as release +[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.21.5+k3s2/sha256sum-amd64.txt +[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.21.5+k3s2/k3s +[INFO] Verifying binary download +[INFO] Installing k3s to /usr/local/bin/k3s +[INFO] Skipping installation of SELinux RPM +[INFO] Creating /usr/local/bin/kubectl symlink to k3s +[INFO] Creating /usr/local/bin/crictl symlink to k3s +[INFO] Creating /usr/local/bin/ctr symlink to k3s +[INFO] Creating killall script /usr/local/bin/k3s-killall.sh +[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh +[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env +[INFO] systemd: Creating service file /etc/systemd/system/k3s.service +[INFO] systemd: Enabling k3s unit +Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service โ†’ /etc/systemd/system/k3s.service. +[INFO] systemd: Starting k3s +root@shredder:~# +``` + +Provided the last line of output says `Starting k3s` and not something more troublesome-sounding.. you have a cluster! Run `k3s kubectl get nodes -o wide` to confirm this, which has the useful side-effect of printing out your first master's IP address (*which we'll need for the next step*) + +```bash +root@shredder:~# k3s kubectl get nodes -o wide +NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME +shredder Ready control-plane,etcd,master 83s v1.21.5+k3s2 192.168.39.201 Ubuntu 20.04.3 LTS 5.4.0-70-generic containerd://1.4.11-k3s1 +root@shredder:~# +``` + +!!! tip "^Z undo undo ..." + Oops! Did you mess something up? Just run `k3s-uninstall.sh` to wipe all traces of K3s, and start over! + +### Deploy other masters (optional) + +Now that the first master is deploy, add additional masters (*remember to keep the total number of masters to an odd number*) by referencing the secret, and the IP address of the first master, on all the others: + +```bash +MYSECRET=iambatman +curl -fL https://get.k3s.io | K3S_TOKEN=${MYSECRET} \ + sh -s - server --disable servicelb --server https://:6443 +``` + +Run `k3s kubectl get nodes` to see your new master node make friends with the others: + +```bash +root@shredder:~# k3s kubectl get nodes +NAME STATUS ROLES AGE VERSION +bebop Ready control-plane,etcd,master 4m13s v1.21.5+k3s2 +rocksteady Ready control-plane,etcd,master 4m42s v1.21.5+k3s2 +shredder Ready control-plane,etcd,master 8m54s v1.21.5+k3s2 +root@shredder:~# +``` + +### Deploy agents (optional) + +If you have more nodes which you want _not_ to be considered masters, then run the following on each. Note that the command syntax differs slightly from the masters (*which is why k3s deploys this as k3s-agent instead*) + +```bash +MYSECRET=iambatman +curl -fL https://get.k3s.io | K3S_TOKEN=${MYSECRET} \ + K3S_URL=https://:6443 \ + sh -s - +``` + +!!! question "y no kubectl on agent?" + If you tried to run `k3s kubectl` on an agent, you'll notice that it returns an error about `localhost:8080` being refused. This is **normal**, and it happens because agents aren't necessarily "trusted" to the same degree that masters are, and so the cluster admin credentials are **not** saved to the filesystem, as they are with masters. + +!!! tip "^Z undo undo ..." + Oops! Did you mess something up? Just run `k3s-agent-uninstall.sh` to wipe all traces of K3s agent, and start over! + +## Release the kubectl! + +k3s will have saved your kubeconfig file on the masters to `/etc/rancher/k3s/k3s.yaml`. This file contains the necessary config and certificates to administer your cluster, and should be treated with the same respect and security as your root password. To interact with the cluster, you need to tell the kubectl command where to find this `KUBECONFIG` file. There are a few ways to do this... + +1. Prefix your `kubectl` commands with `k3s`. i.e., `kubectl cluster-info` becomes `k3s kubectl cluster-info` +2. Update your environment variables in your shell to set `KUBECONFIG` to `/etc/rancher/k3s/k3s.yaml` +3. Copy ``/etc/rancher/k3s/k3s.yaml` to `~/.kube/config`, which is the default location `kubectl` will look for + +Examine your beautiful new cluster by running `kubectl cluster-info` [^1] + +[^1]: Do you live in the CLI? Install the kubectl autocompletion for [bash](https://kubernetes.io/docs/tasks/tools/included/optional-kubectl-configs-bash-linux/) or [zsh](https://kubernetes.io/docs/tasks/tools/included/optional-kubectl-configs-zsh/) to make your life much easier! + +--8<-- "recipe-footer.md" diff --git a/manuscript/kubernetes/deployment/flux/design.md b/manuscript/kubernetes/deployment/flux/design.md new file mode 100644 index 0000000..818d05e --- /dev/null +++ b/manuscript/kubernetes/deployment/flux/design.md @@ -0,0 +1,65 @@ +--- +description: Kubernetes Flux deployment strategy - Design +--- +# Design + +!!! question "Shouldn't a design **precede** installation instructions?" + In this case, I felt that an [installation](/kubernetes/deployment/flux/install/) and a practical demonstration upfront, would help readers to understand the flux design, and make it simpler to then explain how to [operate](/kubernetes/deployment/flux/operate/) flux themselves! ๐Ÿ’ช + +Flux is power and flexible enough to fit many use-cases. After some experience and dead-ends, I've worked out a way to deploy Flux with enough flexibility but structure to make it an almost-invisible part of how my cluster "just works" on an ongoing basis.. + +## Diagram + +Consider this entity relationship diagram: + +``` mermaid + erDiagram + repo-path-flux-system ||..|{ app-namespace : "contains yaml for" + repo-path-flux-system ||..|{ app-kustomization : "contains yaml for" + repo-path-flux-system ||..|{ helmrepositories : "contains yaml for" + + app-kustomization ||..|| repo-path-app : "points flux at" + + flux-system-kustomization ||..|| repo-path-flux-system : "points flux at" + + repo-path-app ||..|{ app-helmreleases: "contains yaml for" + repo-path-app ||..|{ app-configmap: "contains yaml for" + repo-path-app ||..|o app-sealed-secrets: "contains yaml for" + + app-configmap ||..|| app-helmreleases : configures + helmrepositories ||..|| app-helmreleases : "host charts for" + + app-helmreleases ||..|{ app-containers : deploys + app-containers }|..|o app-sealed-secrets : references +``` + +## Explanation + +And here's what it all means, starting from the top... + +1. The flux-system **Kustomization** tells flux to look in the repo in `/flux-system`, and apply any YAMLs it finds (*with optional kustomize templating, if you're an uber-ninja!*). +2. Within `/flux-system`, we've defined (for convenience), 3 subfolders, containing YAML for: + 1. `namespaces` : Any other **Namespaces** we want to deploy for our apps + 2. `helmrepositories` : Any **HelmRepositories** we later want to pull helm charts from + 3. `kustomizations` : An **Kustomizations** we need to tell flux to import YAMLs from **elsewhere** in the repository +3. In turn, each app's **Kustomization** (*which we just defined above*) tells flux to look in the repo in the `/` path, and apply any YAMLs it finds (*with optional kustomize templating, if you're an uber-ninja!*). +4. Within the `/` path, we define **at least** the following: + 1. A **HelmRelease** for the app, telling flux which version of what chart to apply from which **HelmRepository** + 2. A **ConfigMap** for the HelmRelease, which contains all the custom (*and default!*) values for the chart +5. Of course, we can also put any **other** YAML into the `/` path in the repo, which may include additional ConfigMaps, SealedSecrets (*for safely storing secrets in a repo*), Ingresses, etc. + +!!! question "That seems overly complex!" + > "Why not just stick all the YAML into one folder and let flux reconcile it all-at-once?" + + Several reasons: + + * We need to be able to deploy multiple copies of the same helm chart into different namespaces. Imagine if you wanted to deploy a "postgres" helm chart into a namespace for KeyCloak, plus another one for NextCloud. Putting each HelmRelease resource into its own namespace allows us to do this, while sourcing them all from a common HelmRepository + * As your cluster grows in complexity, you end up with dependency issues, and sometimes you need one chart deployed first, in order to create CRDs which are depended upon by a second chart (*like Prometheus' ServiceMonitor*). Isolating apps to a kustomization-per-app means you can implement dependencies and health checks to allow a complex cluster design without chicken vs egg problems! + +## Got it? + +Good! I describe how to put this design into action on the [next page](/kubernetes/deployment/flux/operate/)... + +[^1]: ERDs are fancy diagrams for nERDs which [represent cardinality between entities](https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model#Crow's_foot_notation) scribbled using the foot of a crow ๐Ÿ“ + +--8<-- "recipe-footer.md" diff --git a/manuscript/kubernetes/deployment/flux/install.md b/manuscript/kubernetes/deployment/flux/install.md new file mode 100644 index 0000000..80d29b4 --- /dev/null +++ b/manuscript/kubernetes/deployment/flux/install.md @@ -0,0 +1,134 @@ +--- +description: Kubernetes Flux deployment strategy - Installation +--- + +# Flux Installation + +[Flux](https://fluxcd.io/) is a set of continuous and progressive delivery solutions for Kubernetes that are open and extensible. + +Using flux to manage deployments into the cluster means: + +1. All change is version-controlled (*i.e. "GitOps"*) +2. It's not necessary to expose the cluster API (*i.e., which would otherwise be the case if you were using CI*) +3. Deployments can be paused, rolled back, examine, debugged using Kubernetes primitives and tooling + +!!! summary "Ingredients" + + * [x] [Install the flux CLI tools](https://fluxcd.io/docs/installation/#install-the-flux-cli) on a host which has access to your cluster's apiserver. + * [x] Create a GitHub [personal access token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) that can create repositories by checking all permissions under repo. + * [x] Create a private GitHub repository dedicated to your flux deployments + +## Basics + +Here's a simplified way to think about the various flux components.. + +1. You need a source for flux to look at. This is usually a Git repository, although it can also be a helm repository, an S3 bucket. A source defines the entire repo (*not a path or a folder structure*). +2. Within your source, you define one or more kustomizations. Each kustomization is a _location_ on your source (*i.e., myrepo/nginx*) containing YAML files to be applied directly to the API server. +3. The YAML files inside the kustomization include: + 1. HelmRepositories (*think of these as the repos you'd add to helm with `helm repo`*) + 2. HelmReleases (*these are charts which live in HelmRepositories*) + 3. Any other valid Kubernetes YAML manifests (*i.e., ConfigMaps, etc)* + +## Preparation + +### Install flux CLI + +This section is a [direct copy of the official docs](https://fluxcd.io/docs/installation/#install-the-flux-cli), to save you having to open another tab.. + +=== "HomeBrew (MacOS/Linux)" + + With [Homebrew](https://brew.sh/) for macOS and Linux: + + ```bash + brew install fluxcd/tap/flux + ``` + +=== "Bash (MacOS/Linux)" + + With Bash for macOS and Linux: + + ```bash + curl -s https://fluxcd.io/install.sh | sudo bash + ``` + +=== "Chocolatey" + + With [Chocolatey](https://chocolatey.org/) for Windows: + + ```bash + choco install flux + ``` + +### Create GitHub Token + +Create a GitHub [personal access token](https://github.com/settings/tokens) that can create repositories by checking all permissions under repo. (*we'll use the token in the bootstrapping step below*) + +### Create GitHub Repo + +Now we'll create a repo for flux - it can (*and probably should!*) be private. I've created a [template repo to get you started](https://github.com/geek-cookbook/template-flux/generate), but you could simply start with a blank repo too.[^1] + +### Bootstrap Flux + +Having prepared all of the above, we're now ready to deploy flux. Before we start, take a look at all the running pods in the cluster, with `kubectl get pods -A`. You should see something like this... + +```bash +root@shredder:~# k3s kubectl get pods -A +NAMESPACE NAME READY STATUS RESTARTS AGE +kube-system coredns-7448499f4d-qfszx 1/1 Running 0 6m32s +kube-system local-path-provisioner-5ff76fc89d-rqh52 1/1 Running 0 6m32s +kube-system metrics-server-86cbb8457f-25688 1/1 Running 0 6m32s +``` + +Now, run a customized version of the following: + +```bash +GITHUB_TOKEN= +flux bootstrap github \ + --owner=my-github-username \ + --repository=my-github-username/my-repository \ + --personal +``` + +Once the flux bootstrap is completed without errors, list the pods in the cluster again, with `kubectl get pods -A`. This time, you see something like this: + +```bash +root@shredder:~# k3s kubectl get pods -A +NAMESPACE NAME READY STATUS RESTARTS AGE +flux-system helm-controller-f7c5b6c56-nk7rm 1/1 Running 0 5m48s +flux-system kustomize-controller-55db56f44f-4kqs2 1/1 Running 0 5m48s +flux-system notification-controller-77f68bf8f4-9zlw9 1/1 Running 0 5m48s +flux-system source-controller-8457664f8f-8qhhm 1/1 Running 0 5m48s +kube-system coredns-7448499f4d-qfszx 1/1 Running 0 15m +kube-system local-path-provisioner-5ff76fc89d-rqh52 1/1 Running 0 15m +kube-system metrics-server-86cbb8457f-25688 1/1 Running 0 15m +traefik svclb-traefik-ppvhr 2/2 Running 0 5m31s +traefik traefik-f48b94477-d476p 1/1 Running 0 5m31s +root@shredder:~# +``` + +### What just happened? + +Flux installed its controllers into the `flux-system` namespace, and created two new objects: + +1. A **GitRepository** called `flux-system`, pointing to your GitHub repo. +2. A **Kustomization** called `flux-system`, pointing to the `flux-system` directory in the above repo. + +If you used my template repo, some extra things also happened.. + +1. I'd pre-populated the `flux-system` directory in the template repo with 3 folders: + 1. [helmrepositories](https://github.com/geek-cookbook/template-flux/tree/main/flux-system/helmrepositories), for storing repositories used for deploying helm charts + 2. [kustomizations](https://github.com/geek-cookbook/template-flux/tree/main/flux-system/kustomizations), for storing additional kustomizations *(which in turn can reference other paths in the repo*) + 3. [namespaces](https://github.com/geek-cookbook/template-flux/tree/main/flux-system/namespaces), for storing namespace manifests (*since these need to exist before we can deploy helmreleases into them*) +2. Because the `flux-system` Kustomization includes everything **recursively** under `flux-system` path in the repo, all of the above were **also** applied to the cluster +3. I'd pre-prepared a [Namespace](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/namespaces/namespace-podinfo.yaml), [HelmRepository](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/helmrepositories/helmrepository-podinfo.yaml), and [Kustomization](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/kustomizations/kustomization-podinfo.yaml) for "podinfo", a simple example application, so these were applied to the cluster +4. The kustomization we added for podinfo refers to the `/podinfo` path in the repo, so everything in **this** folder was **also** applied to the cluster +5. In the `/podinfo` path of the repo is a [HelmRelease](https://github.com/geek-cookbook/template-flux/blob/main/podinfo/helmrelease-podinfo.yaml) (*an object describing how to deploy a helm chart*), and a [ConfigMap](https://github.com/geek-cookbook/template-flux/blob/main/podinfo/configmap-pofinfo-helm-chart-value-overrides-configmap.yaml) (*which ontain the `values.yaml` for the podinfo helm chart*) +6. Flux recognized the podinfo **HelmRelease**, applied it along with the values in the **ConfigMap**, and consequently we have podinfo deployed from the latest helm chart, into the cluster, and managed by Flux! ๐Ÿ’ช + +## Wait, but why? + +That's best explained on the [next page](/kubernetes/deployment/flux/design/), describing the design we're using... + +--8<-- "recipe-footer.md" + +[^1]: The [template repo](https://github.com/geek-cookbook/template-flux/) also "bootstraps" a simple example re how to [operate flux](/kubernetes/deployment/flux/operate/), by deploying the podinfo helm chart. diff --git a/manuscript/kubernetes/deployment/flux/operate.md b/manuscript/kubernetes/deployment/flux/operate.md new file mode 100644 index 0000000..9669ff9 --- /dev/null +++ b/manuscript/kubernetes/deployment/flux/operate.md @@ -0,0 +1,158 @@ +--- +description: Kubernetes Flux deployment strategy - Operation +--- + +# Operation + +Having described [how to install flux](/kubernetes/deployment/flux/install/), and [how our flux deployment design works](/kubernetes/deployment/flux/design/), let's finish by exploring how to **use** flux to deploy helm charts into a cluster! + +## Deploy App + +We'll need 5 files per-app, to deploy and manage our apps using flux. The example below will use the following highlighted files: + +```hl_lines="4 6 8 10 11" +โ”œโ”€โ”€ README.md +โ”œโ”€โ”€ flux-system +โ”‚ย ย  โ”œโ”€โ”€ helmrepositories +โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ helmrepository-podinfo.yaml +โ”‚ย ย  โ”œโ”€โ”€ kustomizations +โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ kustomization-podinfo.yaml +โ”‚ย ย  โ””โ”€โ”€ namespaces +โ”‚ย ย  โ””โ”€โ”€ namespace-podinfo.yaml +โ””โ”€โ”€ podinfo + โ”œโ”€โ”€ configmap-podinfo-helm-chart-value-overrides.yaml + โ””โ”€โ”€ helmrelease-podinfo.yaml +``` + +???+ question "5 files! That seems overly complex!" + > "Why not just stick all the YAML into one folder and let flux reconcile it all-at-once?" + + Several reasons: + + * We need to be able to deploy multiple copies of the same helm chart into different namespaces. Imagine if you wanted to deploy a "postgres" helm chart into a namespace for KeyCloak, plus another one for NextCloud. Putting each HelmRelease resource into its own namespace allows us to do this, while sourcing them all from a common HelmRepository + * As your cluster grows in complexity, you end up with dependency issues, and sometimes you need one chart deployed first, in order to create CRDs which are depended upon by a second chart (*like Prometheus' ServiceMonitor*). Isolating apps to a kustomization-per-app means you can implement dependencies and health checks to allow a complex cluster design without chicken vs egg problems! + * I like to use the one-object-per-yaml-file approach. Kubernetes is complex enough without trying to define multiple objects in one file, or having confusingly-generic filenames such as `app.yaml`! ๐Ÿคฆโ€โ™‚๏ธ + +### Identify target helm chart + +Identify your target helm chart. Let's take podinfo as an example. Here's the [official chart](https://github.com/stefanprodan/podinfo/tree/master/charts/podinfo), and here's the [values.yaml](https://github.com/stefanprodan/podinfo/tree/master/charts/podinfo/values.yaml) which describes the default values passed to the chart (*and the options the user has to make changes*). + +### Create HelmRepository + +The README instructs users to add the repo "podinfo" with the URL `ttps://stefanprodan.github.io/podinfo`, so +create a suitable HelmRepository YAML in `flux-system/helmrepositories/helmrepository-podinfo.yaml`. Here's [my example](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/helmrepositories/helmrepository-podinfo.yaml). + +!!! question "Why such obtuse file names?" + > Why not just call the HelmRepository YAML `podinfo.yaml`? Why prefix the filename with the API object `helmrepository-`? + + We're splitting the various "bits" which define this app into multiple YAMLs, and we'll soon have multiple apps in our repo, each with their own set of "bits". It gets very confusing quickly, when comparing git commit diffs, if you're not explicitly clear on what file you're working on, or which changes you're reviewing. Plus, adding the API object name to the filename provides extra "metadata" to the file structure, and makes "fuzzy searching" for quick-opening of files in tools like VSCode more effective. + +### Create Namespace + +Create a namespace for the chart. Typically you'd name this the same as your chart name. Here's [my namespace-podinfo.yaml](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/namespaces/namespace-podinfo.yaml). + +??? example "Here's an example Namespace..." + + ```yaml + apiVersion: v1 + kind: Namespace + metadata: + name: podinfo + ``` + +### Create Kustomization + +Create a kustomization for the chart, pointing flux to a path in the repo where the chart-specific YAMLs will be found. Here's my [kustomization-podinfo.yaml](https://github.com/geek-cookbook/template-flux/blob/main/flux-system/kustomizations/kustomization-podinfo.yaml). + +??? example "Here's an example Kustomization..." + + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: podinfo + namespace: flux-system + spec: + interval: 15m + path: podinfo + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: podinfo + namespace: podinfo + ``` + +### Create HelmRelease + +Now create a HelmRelease for the chart - the HelmRelease defines how the (generic) chart from the HelmRepository will be installed into our cluster. Here's my [podinfo/helmrelease-podinfo.yaml](https://github.com/geek-cookbook/template-flux/blob/main/podinfo/helmrelease-podinfo.yaml). + +??? example "Here's an example HelmRelease..." + + ```yaml + apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + metadata: + name: podinfo + namespace: podinfo + spec: + chart: + spec: + chart: podinfo # Must be the same as the upstream chart name + version: 10.x # Pin to semver major versions to avoid breaking changes but still get bugfixes/updates + sourceRef: + kind: HelmRepository + name: podinfo # References the HelmRepository you created earlier + namespace: flux-system # All HelmRepositories exist in the flux-system namespace + interval: 15m + timeout: 5m + releaseName: podinfo # _may_ be different from the upstream chart name, but could cause confusion + valuesFrom: + - kind: ConfigMap + name: podinfo-helm-chart-value-overrides # Align with the name of the ConfigMap containing all values + valuesKey: values.yaml # This is the default, but best to be explicit for clarity + ``` + +### Create ConfigMap + +Finally, create a ConfigMap to be used to pass helm chart values to the chart. Note that it is **possible** to pass values directly in the HelmRelease, but.. it's messy. I find it easier to let the HelmRelease **describe** the release, and to let the configmap **configure** the release. It also makes tracking changes more straightforward. + +As a second note, it's strictly only necessary to include in the ConfigMap the values you want to **change** from the chart's defaults. I find this to be too confusing as charts are continually updated by their developers, and this can obsucre valuable options over time. So I place in my ConfigMaps the **entire** contents of the chart's `values.yaml` file, and then I explicitly overwrite the values I want to change. + +!!! tip "Making chart updates simpl(er)" + This also makes updating my values for an upstream chart refactor a simple process - I duplicate the ConfigMap, paste-overwrite with the values.yaml for the refactored/updated chart, and compare the old and new versions side-by-side, to ensure I'm still up-to-date. + +It's too large to display nicely below, but here's my [podinfo/configmap-podinfo-helm-chart-value-overrides.yaml](https://github.com/geek-cookbook/template-flux/blob/main/podinfo/configmap-podinfo-helm-chart-value-overrides.yaml) + +!!! tip "Yes, I am sticking to my super-obtuse file naming convention!" + Doesn't it make it easier to understand, at a glance, exactly what this YAML file is intended to be? + +### Commit the changes + +Simply commit your changes, sit back, and wait for flux to do its 1-min update. If you like to watch the fun, you could run `watch -n1 flux get kustomizations` so that you'll see the reconciliation take place (*if you're quick*). You can also force flux to check the repo for changes manually, by running `flux reconcile source git flux-system`. + +## Making changes + +Let's say you decide that instead of 1 replica of the podinfo pod, you'd like 3 replicas. Edit your configmap, and change `replicaCount: 1` to `replicaCount: 3`. + +Commit your changes, and once again do the waiting / impatient-reconciling jig. This time you'll have to wait up to 15 minutes though... + +!!! question "Why 15 minutes?" + > I thought we check the repo every minute? + + Yes, we check the entire GitHub repository for changes every 1 min, and changes to a kustomization are applied immediately. I.e., your podinfo ConfigMap gets updated within a minute (roughly). But the interval value for the HelmRelease is set to 15 minutes, so you could be waiting for as long as 15 minutes for flux to re-reconcile your HelmRelease with the ConfigMap, and to apply any changes. I've found that setting the HelmRelease interval too low causes (a) lots of unnecessary resource usage on behalf of flux, and (b) less stability when you have a large number of HelmReleases, some of whom depend on each other. + + You can force a HelmRelease to reconcile, by running `flux reconcile helmrelease -n ` + +## Success! + +We did it. The Holy Grail. We deployed an application into the cluster, without touching the cluster. Pinch yourself, and then prove it worked by running `flux get kustomizations`, or `kubectl get helmreleases -n podinfo`. + +--8<-- "recipe-footer.md" + +[^1]: Got suggestions for improvements here? Shout out in the comments below! diff --git a/manuscript/kubernetes/deployment/index.md b/manuscript/kubernetes/deployment/index.md new file mode 100644 index 0000000..7ab88ac --- /dev/null +++ b/manuscript/kubernetes/deployment/index.md @@ -0,0 +1,22 @@ +--- +description: Kubernetes deployment strategies +--- + +# Deployment + +So far our Kubernetes journey has been fairly linear - your standard "geek follows instructions" sort of deal. + +When it comes to a deployment methodology, there are a few paths you can take, and it's possible to "mix-and-match" if you want to (*and if you enjoy extra pain and frustration!*) + +Being imperative, Kubernetes is "driven" by your definitions of an intended state. I.e., "*I want a minecraft server and a 3-node redis cluster*". The state is defined by resources (pod, deployment, PVC) etc, which you apply to the Kubernetes apiserver, normally using YAML. + +Now you _could_ hand-craft some YAML files, and manually apply these to the apiserver, but there are much smarter and more scalable ways to drive Kubernetes. + +The typical methods of deploying applications into Kubernetes, sorted from least to most desirable and safe are: + +1. A human applies YAML directly to the apiserver. +2. A human applies a helm chart directly to the apiserver. +3. A human updates a version-controlled set of configs, and a CI process applies YAML/helm chart directly to the apiserver. +4. A human updates a version-controlled set of configs, and a trusted process _within_ the cluster "reaches out" to the config, and applies it to itself. + +In our case, #4 is achieved with [Flux](/kubernetes/deployment/flux/). diff --git a/manuscript/kubernetes/diycluster.md b/manuscript/kubernetes/diycluster.md deleted file mode 100644 index 7af1b28..0000000 --- a/manuscript/kubernetes/diycluster.md +++ /dev/null @@ -1,313 +0,0 @@ -# DIY Kubernetes - -If you are looking for a little more of a challenge, or just don't have the money to fork out to managed Kubernetes, you're in luck. -Kubernetes provides many ways to run a cluster, by far the simplest method is with `minikube` but there are other methods like `k3s` and using `drp` to deploy a cluster. -After all, DIY its in our DNA. - -## Ingredients - -1. Basic knowledge of Kubernetes terms (Will come in handy) [Start](/kubernetes/start) -2. Some Linux machines (Depends on what recipe you follow) - -## Minikube - -First, what is minikube? -Minikube is a method of running Kubernetes on your local machine. -It is mainly targeted at developers looking to test if their application will work with Kubernetes without deploying it to a production cluster. For this reason, -I do not recommend running your cluster on minikube as it isn't designed for deployment, and is only a single node cluster. - -If you want to use minikube, there is a guide below but again, I recommend using something more production-ready like `k3s` or `drp` - -### Ingredients - -1. A Fresh Linux Machine -2. Some basic Linux knowledge (or can just copy-paste) - -!!! note - Make sure you are running a SystemD based distro like Ubuntu. - Although minikube will run on macOS and Windows, - they add in additional complexities to the installation as they - require running a Linux based image running in a VM, - that although minikube will manage, adds to the complexities. And - even then, who uses Windows or macOS in production anyways? ๐Ÿ™‚ - If you are serious about running on windows/macOS, - check the official MiniKube guides - [here](https://minikube.sigs.k8s.io/docs/start/) - -### Installation - -After booting yourself up a fresh Linux machine and getting to a console, -you can now install minikube. - -Download and install our minikube binary - -```sh -curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -sudo install minikube-linux-amd64 /usr/local/bin/minikube -``` - -Now we can boot up our cluster - -```sh -sudo minikube start --vm-driver=none -#Start our minikube instance, and make it use the machine to host the cluster, instead of a VM -sudo minikube config set vm-driver none #Set our default vm driver to none -``` - -You are now set up with minikube! - -!!! warning - MiniKube is not a production-grade method of deploying Kubernetes - -## K3S - -What is k3s? -K3s is a production-ready method of deploying Kubernetes on many machines, -where a full Kubernetes deployment is not required, AKA - your cluster (unless your a big SaaS company, in that case, can I get a job?). - -### Ingredients - -1. A handful of Linux machines (3 or more, virtualized or not) -2. Some Linux knowledge. -3. Patience. - -### Setting your Linux Machines up - -Firstly, my flavour of choice for deployment is Ubuntu Server, -although it is not as enterprise-friendly as RHEL (That's Red Hat Enterprise Linux for my less geeky readers) or CentOS (The free version of RHEL). -Ubuntu ticks all the boxes for k3s to run on and allows you to follow lots of other guides on managing and maintaining your Ubuntu server. - -Firstly, download yourself a version of Ubuntu Server from [here](https://ubuntu.com/download/server) (Whatever is latest) -Then spin yourself up as many systems as you need with the following guide - -!!! note - I am running a 3 node cluster, with nodes running on Ubuntu 19.04, all virtualized with VMWare ESXi - Your setup doesn't need to be as complex as mine, you can use 3 old Dell OptiPlex if you really want ๐Ÿ™‚ - -1. Insert your installation medium into the machine, and boot it. -2. Select your language -3. Select your keyboard layout -4. Select `Install Ubuntu` -5. Check and modify your network settings if required, make sure to write down your IPs -6. Select Done on Proxy, unless you use a proxy -7. Select Done on Mirror, as it has picked the best mirror for you unless you have a local mirror you want to use (in that case you are uber-geek) -8. Select `Use An Entire Disk` for Filesystem, and basically hit enter for the rest of the disk setup, -just make sure to read the prompts and understand what you are doing -9. Now that you are up to setting up the profile, this is where things change. -You are going to want to set up the same account on all the machines, but change the server name just a tad every time. -![Profile Setup for Node 1](../images/diycluster-k3s-profile-setup.png) -![Profile Setup for Node 2](../images/diycluster-k3s-profile-setup-node2.png) -10. Now install OpenSSH on the server, if you wish to import your existing SSH key from GitHub or Launchpad, -you can do that now and save yourself a step later. -11. Skip over Featured Server snaps by clicking `Done` -12. Wait for your server to install everything and drop you to a Linux prompt - -13. Repeat for all your nodes - -### Pre-installation of k3s - -For the rest of this guide, you will need some sort of Linux/macOS based terminal. -On Windows you can do this with Windows Subsystem for Linux (WSL) see [here for information on WSL.](https://aka.ms/wslinstall) - -The rest of this guide will all be from your local terminal. - -If you already have an SSH key generated or added an existing one, skip this step. -From your PC,run `ssh-keygen` to generate a public and private key pair -(You can use this instead of typing your password in every time you want to connect via ssh) - -```sh -$ ssh-keygen -Generating public/private rsa key pair. -Enter file in which to save the key (/home/thomas/.ssh/id_rsa): [enter] -Enter passphrase (empty for no passphrase): [password] -Enter same passphrase again: [password] -Your identification has been saved in /home/thomas/.ssh/id_rsa. -Your public key has been saved in /home/thomas/.ssh/id_rsa.pub. -The key fingerprint is: -... -The key's randomart image is: -... -``` - -If you have already imported a key from GitHub or Launchpad, skip this step. - -```sh -$ ssh-copy-id [username]@[hostname] -/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/thomas/.ssh/id_rsa.pub" -The authenticity of host 'thomas-k3s-node1 (theipaddress)' can't be established. -ECDSA key fingerprint is SHA256:... -Are you sure you want to continue connecting (yes/no)? yes -/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed -/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys -thomas@thomas-k3s-node1's password: [insert your password now] - -Number of key(s) added: 1 -``` - -You will want to do this once for every machine, replacing the hostname with the other next nodes hostname each time. - -!!! note - If your hostnames aren't resolving correct, try adding them to your `/etc/hosts` file - -### Installation - -If you have access to the premix repository, you can download the ansible-playbook and follow the steps contained in there, if not sit back and prepare to do it manually. - -!!! tip - Becoming a patron will allow you to get the ansible-playbook to setup k3s on your own hosts. For as little as 5$/m you can get access to the ansible playbooks for this recipe, and more! - See [funkypenguin's Patreon](https://www.patreon.com/funkypenguin) for more! - - -Select one node to become your master, in my case `thomas-k3s-node1`. -Now SSH into this node, and run the following: - -```sh -localpc$ ssh thomas@thomas-k3s-node1 -Enter passphrase for key '/home/thomas/.ssh/id_rsa': [ssh key password] - -thomas-k3s-node1$ curl -sfL https://get.k3s.io | sh - -[sudo] password for thomas: [password entered in setup] -[INFO] Finding latest release -[INFO] Using v1.0.0 as release -[INFO] Downloading hash https://github.com/rancher/k3s/releases/download/v1.0.0/sha256sum-amd64.txt -[INFO] Downloading binary https://github.com/rancher/k3s/releases/download/v1.0.0/k3s -[INFO] Verifying binary download -[INFO] Installing k3s to /usr/local/bin/k3s -[INFO] Creating /usr/local/bin/kubectl symlink to k3s -[INFO] Creating /usr/local/bin/crictl symlink to k3s -[INFO] Creating /usr/local/bin/ctr symlink to k3s -[INFO] Creating killall script /usr/local/bin/k3s-killall.sh -[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh -[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env -[INFO] systemd: Creating service file /etc/systemd/system/k3s.service -[INFO] systemd: Enabling k3s unit -Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service โ†’ /etc/systemd/system/k3s.service. -[INFO] systemd: Starting k3s -``` - -Before we log out of the master, we need the token from it. -Make sure to note this token down -(please don't write it on paper, use something like `notepad` or `vim`, it's ~100 characters) - -```sh -thomas-k3s-node1$ sudo cat /var/lib/rancher/k3s/server/node-token -K1097e226f95f56d90a4bab7151... -``` - -Make sure all nodes can access each other by hostname, whether you add them to `/etc/hosts` or to your DNS server - -Now that you have your master node setup, you can now add worker nodes - -SSH into the other nodes, and run the following making sure to replace values with ones that suit your installation - -```sh -localpc$ ssh thomas@thomas-k3s-node2 -Enter passphrase for key '/home/thomas/.ssh/id_rsa': [ssh key password] - -thomas-k3s-node2$ curl -sfL https://get.k3s.io | K3S_URL=https://thomas-k3s-node1:6443 K3S_TOKEN=K1097e226f95f56d90a4bab7151... sh - -``` - -Now test your installation! - -SSH into your master node - -```sh -ssh thomas@thomas-k3s-node1 -Enter passphrase for key '/home/thomas/.ssh/id_rsa': [ssh key password] - -thomas-k3s-node1$ sudo kubectl get nodes - -NAME STATUS ROLES AGE VERSION -thomas-k3s-node1 Ready master 15m3s v1.16.3-k3s.2 -thomas-k3s-node2 Ready 6m58s v1.16.3-k3s.2 -thomas-k3s-node3 Ready 6m12s v1.16.3-k3s.2 -``` - -If you got Ready for all your nodes, Well Done! Your k3s cluster is now running! If not try getting help in our discord. - -### Post-Installation - -Now you can get yourself a kubeconfig for your cluster. -SSH into your master node, and run the following - -```sh -localpc$ ssh thomas@thomas-k3s-node1 -Enter passphrase for key '/home/thomas/.ssh/id_rsa': [ssh key password] - -thomas-k3s-node1$ sudo kubectl config view --flatten -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUdJTiBD... - server: https://127.0.0.1:6443 - name: default -contexts: -- context: - cluster: default - user: default - name: default -current-context: default -kind: Config -preferences: {} -users: -- name: default - user: - password: thisishowtolosecontrolofyourk3s - username: admin -``` - -Make sure to change `clusters.cluster.server` to have the master node's name instead of `127.0.0.1`, in my case making it `https://thomas-k3s-node1:6443` - -!!! warning - This kubeconfig file can grant full access to your Kubernetes installation, I recommend you protect this file just as well as you protect your passwords - -You will probably want to save this kubeconfig file into a file on your local machine, say `my-k3s-cluster.yml` or `where-8-hours-of-my-life-went.yml`. -Now test it out! - -```sh -localpc$ kubectl --kubeconfig=my-k3s-cluster.yml get nodes -NAME STATUS ROLES AGE VERSION -thomas-k3s-node1 Ready master 495m v1.16.3-k3s.2 -thomas-k3s-node2 Ready 488m v1.16.3-k3s.2 -thomas-k3s-node3 Ready 487m v1.16.3-k3s.2 -``` - - - -That is all! You have yourself a Kubernetes cluster for you and your dog to enjoy. - -## DRP - -DRP or Digital Rebar Provisioning Tool is a tool designed to automatically setup your cluster, installing an operating system for you, and doing all the configuration like we did in the k3s setup. - -This section is WIP, instead, try using the K3S guide above ๐Ÿ™‚ - -## Where from now - -Now that you have wasted half a lifetime on installing your very own cluster, you can install more to it. Like a load balancer! - -* [Start](/kubernetes/) - Why Kubernetes? -* [Design](/kubernetes/design/) - How does it fit together? -* Cluster (this page) - Setup a basic cluster -* [Load Balancer](/kubernetes/loadbalancer/) - Setup inbound access -* [Snapshots](/kubernetes/snapshots/) - Automatically backup your persistent data -* [Helm](/kubernetes/helm/) - Uber-recipes from fellow geeks -* [Traefik](/kubernetes/traefik/) - Traefik Ingress via Helm - -## About your guest chef - -This article, believe it or not, was not diced up by your regular chef (funkypenguin). -Instead, today's article was diced up by HexF, a fellow kiwi (hence a lot of kiwi references) who enjoys his sysadmin time. -Feel free to talk to today's chef in the discord, or see one of his many other links that you can follow below - -[Twitter](https://twitter.com/hexf_me) โ€ข [Website](https://hexf.me/) โ€ข [Github](https://github.com/hexf) - - - ---8<-- "recipe-footer.md" diff --git a/manuscript/kubernetes/external-dns.md b/manuscript/kubernetes/external-dns.md new file mode 100644 index 0000000..e710860 --- /dev/null +++ b/manuscript/kubernetes/external-dns.md @@ -0,0 +1,1081 @@ +# External DNS + +Kubernetes' internal DNS / service-discovery means that every service is resolvable within the cluster. You can create a Wordpress pod with a database URL pointing to "mysql", and trust that it'll find the service named "mysql" in the same namespace. (*Or "mysql.weirdothernamespace" if you prefer*) + +This super-handy DNS magic only works within the cluster though. When you wanted to connect to the hypothetical Wordpress service from **outside** of the cluster, you'd need to manually create a DNS entry pointing to the [LoadBalancer](/kubernetes/loadbalancer/) IP of that service. While using wildcard DNS might make this a **little** easier, it's still too manual and not at all "*gitopsy*" enough! + +ExternalDNS is a controller for Kubernetes which watches the objects you create (*Services, Ingresses, etc*), and configures External DNS providers (*like CloudFlare, Route53, etc*) accordingly. With External DNS, you **can** just deploy an ingress referencing "*mywordywordpressblog.batman.com*", and have that DNS entry autocreated on your provider within minutes ๐Ÿ’ช + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] API credentials for a [supported DNS provider](https://github.com/kubernetes-sigs/external-dns) + +## Preparation + +### Namespace + +We need a namespace to deploy our HelmRelease and associated ConfigMaps into. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/namespaces/namespace-external-dns.yaml`: + +??? example "Example Namespace (click to expand)" + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: external-dns +``` + +### HelmRepository + +Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. In this case, we're using the (*prolific*) [bitnami chart repository](https://github.com/bitnami/charts/tree/master/bitnami), so per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/helmrepositories/helmrepository-external-dns.yaml`: + +??? example "Example HelmRepository (click to expand)" + ```yaml + apiVersion: source.toolkit.fluxcd.io/v1beta1 + kind: HelmRepository + metadata: + name: bitnami + namespace: flux-system + spec: + interval: 15m + url: https://charts.bitnami.com/bitnami + ``` + +### Kustomization + +Now that the "global" elements of this deployment (*just the HelmRepository in this case*z*) have been defined, we do some "flux-ception", and go one layer deeper, adding another Kustomization, telling flux to deploy any YAMLs found in the repo at `/external-dns`. I create this Kustomization in my flux repo at `flux-system/kustomizations/kustomization-external-dns.yaml`: + +??? example "Example Kustomization (click to expand)" + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: external-dns + namespace: flux-system + spec: + interval: 15m + path: ./external-dns + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: external-dns + namespace: external-dns + ``` + +### ConfigMap + +Now we're into the external-dns-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/bitnami-labs/external-dns/blob/main/helm/external-dns/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 tabs (*since they're "encapsulated" within the ConfigMap YAML*). I create this in my flux repo at `external-dns/configmap-external-dns-helm-chart-value-overrides.yaml`: + +??? example "Example ConfigMap (click to expand)" + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + name: external-dns-helm-chart-value-overrides + namespace: external-dns + data: + values.yaml: |- + ## @section Global parameters + ## Global Docker image parameters + ## Please, note that this will override the image parameters, including dependencies, configured to use the global value + ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass + + ## @param global.imageRegistry Global Docker image registry + ## @param global.imagePullSecrets Global Docker registry secret names as an array + ## + global: + imageRegistry: "" + ## E.g. + ## imagePullSecrets: + ## - myRegistryKeySecretName + ## + imagePullSecrets: [] + + ## @section Common parameters + + ## @param nameOverride String to partially override external-dns.fullname template (will maintain the release name) + ## + nameOverride: "" + ## @param fullnameOverride String to fully override external-dns.fullname template + ## + fullnameOverride: "" + ## @param clusterDomain Kubernetes Cluster Domain + ## + clusterDomain: cluster.local + + ## @section external-dns parameters + + ## Bitnami external-dns image version + ## ref: https://hub.docker.com/r/bitnami/external-dns/tags/ + ## @param image.registry ExternalDNS image registry + ## @param image.repository ExternalDNS image repository + ## @param image.tag ExternalDNS Image tag (immutable tags are recommended) + ## @param image.pullPolicy ExternalDNS image pull policy + ## @param image.pullSecrets ExternalDNS image pull secrets + ## + image: + registry: docker.io + repository: bitnami/external-dns + tag: 0.10.1-debian-10-r5 + ## Specify a imagePullPolicy + ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' + ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images + ## + pullPolicy: IfNotPresent + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ + ## e.g: + ## pullSecrets: + ## - myRegistryKeySecretName + ## + pullSecrets: [] + + ## @param hostAliases Deployment pod host aliases + ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ + ## + hostAliases: [] + ## @param sources [array] K8s resources type to be observed for new DNS entries by ExternalDNS + ## + sources: + # - crd + - service + - ingress + # - contour-httpproxy + ## @param provider DNS provider where the DNS records will be created. + ## Available providers are: + ## - alibabacloud, aws, azure, azure-private-dns, cloudflare, coredns, designate, digitalocean, google, hetzner, infoblox, linode, rfc2136, transip + ## + provider: aws + ## Flags related to processing sources + ## ref: https://github.com/kubernetes-sigs/external-dns/blob/master/pkg/apis/externaldns/types.go#L272 + ## @param namespace Limit sources of endpoints to a specific namespace (default: all namespaces) + ## + namespace: "" + ## @param fqdnTemplates Templated strings that are used to generate DNS names from sources that don't define a hostname themselves + ## + fqdnTemplates: [] + ## @param combineFQDNAnnotation Combine FQDN template and annotations instead of overwriting + ## + combineFQDNAnnotation: false + ## @param ignoreHostnameAnnotation Ignore hostname annotation when generating DNS names, valid only when fqdn-template is set + ## + ignoreHostnameAnnotation: false + ## @param publishInternalServices Allow external-dns to publish DNS records for ClusterIP services + ## + publishInternalServices: false + ## @param publishHostIP Allow external-dns to publish host-ip for headless services + ## + publishHostIP: false + ## @param serviceTypeFilter The service types to take care about (default: all, options: ClusterIP, NodePort, LoadBalancer, ExternalName) + ## + serviceTypeFilter: [] + ## Alibaba cloud configuration to be set via arguments/env. variables + ## These will be added to /etc/kubernetes/alibaba-cloud.json via secret + ## + alibabacloud: + ## @param alibabacloud.accessKeyId When using the Alibaba Cloud provider, set `accessKeyId` in the Alibaba Cloud configuration file (optional) + ## + accessKeyId: "" + ## @param alibabacloud.accessKeySecret When using the Alibaba Cloud provider, set `accessKeySecret` in the Alibaba Cloud configuration file (optional) + ## + accessKeySecret: "" + ## @param alibabacloud.regionId When using the Alibaba Cloud provider, set `regionId` in the Alibaba Cloud configuration file (optional) + ## + regionId: "" + ## @param alibabacloud.vpcId Alibaba Cloud VPC Id + ## + vpcId: "" + ## @param alibabacloud.secretName Use an existing secret with key "alibaba-cloud.json" defined. + ## This ignores alibabacloud.accessKeyId, and alibabacloud.accessKeySecret + ## + secretName: "" + ## @param alibabacloud.zoneType Zone Filter. Available values are: public, private, or no value for both + ## + zoneType: "" + ## AWS configuration to be set via arguments/env. variables + ## + aws: + ## AWS credentials + ## @param aws.credentials.secretKey When using the AWS provider, set `aws_secret_access_key` in the AWS credentials (optional) + ## @param aws.credentials.accessKey When using the AWS provider, set `aws_access_key_id` in the AWS credentials (optional) + ## @param aws.credentials.mountPath When using the AWS provider, determine `mountPath` for `credentials` secret + ## + credentials: + secretKey: "" + accessKey: "" + ## Before external-dns 0.5.9 home dir should be `/root/.aws` + ## + mountPath: "/.aws" + ## @param aws.credentials.secretName Use an existing secret with key "credentials" defined. + ## This ignores aws.credentials.secretKey, and aws.credentials.accessKey + ## + secretName: "" + ## @param aws.region When using the AWS provider, `AWS_DEFAULT_REGION` to set in the environment (optional) + ## + region: "us-east-1" + ## @param aws.zoneType When using the AWS provider, filter for zones of this type (optional, options: public, private) + ## + zoneType: "" + ## @param aws.assumeRoleArn When using the AWS provider, assume role by specifying --aws-assume-role to the external-dns daemon + ## + assumeRoleArn: "" + ## @param aws.apiRetries Maximum number of retries for AWS API calls before giving up + ## + apiRetries: 3 + ## @param aws.batchChangeSize When using the AWS provider, set the maximum number of changes that will be applied in each batch + ## + batchChangeSize: 1000 + ## @param aws.zoneTags When using the AWS provider, filter for zones with these tags + ## + zoneTags: [] + ## @param aws.preferCNAME When using the AWS provider, replaces Alias records with CNAME (options: true, false) + ## + preferCNAME: "" + ## @param aws.evaluateTargetHealth When using the AWS provider, sets the evaluate target health flag (options: true, false) + ## + evaluateTargetHealth: "" + ## Azure configuration to be set via arguments/env. variables + ## + azure: + ## When a secret to load azure.json is not specified, the host's /etc/kubernetes/azure.json will be used + ## @param azure.secretName When using the Azure provider, set the secret containing the `azure.json` file + ## + secretName: "" + ## @param azure.cloud When using the Azure provider, set the Azure Cloud + ## + cloud: "" + ## @param azure.resourceGroup When using the Azure provider, set the Azure Resource Group + ## + resourceGroup: "" + ## @param azure.tenantId When using the Azure provider, set the Azure Tenant ID + ## + tenantId: "" + ## @param azure.subscriptionId When using the Azure provider, set the Azure Subscription ID + ## + subscriptionId: "" + ## @param azure.aadClientId When using the Azure provider, set the Azure AAD Client ID + ## + aadClientId: "" + ## @param azure.aadClientSecret When using the Azure provider, set the Azure AAD Client Secret + ## + aadClientSecret: "" + ## @param azure.useManagedIdentityExtension When using the Azure provider, set if you use Azure MSI + ## + useManagedIdentityExtension: false + ## @param azure.userAssignedIdentityID When using the Azure provider with Azure MSI, set Client ID of Azure user-assigned managed identity (optional, otherwise system-assigned managed identity is used) + ## + userAssignedIdentityID: "" + ## Cloudflare configuration to be set via arguments/env. variables + ## + cloudflare: + ## @param cloudflare.apiToken When using the Cloudflare provider, `CF_API_TOKEN` to set (optional) + ## + apiToken: "" + ## @param cloudflare.apiKey When using the Cloudflare provider, `CF_API_KEY` to set (optional) + ## + apiKey: "" + ## @param cloudflare.secretName When using the Cloudflare provider, it's the name of the secret containing cloudflare_api_token or cloudflare_api_key. + ## This ignores cloudflare.apiToken, and cloudflare.apiKey + ## + secretName: "" + ## @param cloudflare.email When using the Cloudflare provider, `CF_API_EMAIL` to set (optional). Needed when using CF_API_KEY + ## + email: "" + ## @param cloudflare.proxied When using the Cloudflare provider, enable the proxy feature (DDOS protection, CDN...) (optional) + ## + proxied: true + ## CoreDNS configuration to be set via arguments/env variables + ## + coredns: + ## @param coredns.etcdEndpoints When using the CoreDNS provider, set etcd backend endpoints (comma-separated list) + ## Secure (https) endpoints can be used as well, in that case `etcdTLS` section + ## should be filled in accordingly + ## + etcdEndpoints: "http://etcd-extdns:2379" + ## Configuration of the secure communication and client authentication to the etcd cluster + ## If enabled all the values under this key must hold a valid data + ## + etcdTLS: + ## @param coredns.etcdTLS.enabled When using the CoreDNS provider, enable secure communication with etcd + ## + enabled: false + ## @param coredns.etcdTLS.autoGenerated Generate automatically self-signed TLS certificates + ## + autoGenerated: false + ## @param coredns.etcdTLS.secretName When using the CoreDNS provider, specify a name of existing Secret with etcd certs and keys + ## ref: https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/security.md + ## ref (secret creation): + ## https://github.com/bitnami/charts/tree/master/bitnami/etcd#configure-certificates-for-client-communication + ## + secretName: "etcd-client-certs" + ## @param coredns.etcdTLS.mountPath When using the CoreDNS provider, set destination dir to mount data from `coredns.etcdTLS.secretName` to + ## + mountPath: "/etc/coredns/tls/etcd" + ## @param coredns.etcdTLS.caFilename When using the CoreDNS provider, specify CA PEM file name from the `coredns.etcdTLS.secretName` + ## + caFilename: "ca.crt" + ## @param coredns.etcdTLS.certFilename When using the CoreDNS provider, specify cert PEM file name from the `coredns.etcdTLS.secretName` + ## Will be used by external-dns to authenticate against etcd + ## + certFilename: "cert.pem" + ## @param coredns.etcdTLS.keyFilename When using the CoreDNS provider, specify private key PEM file name from the `coredns.etcdTLS.secretName` + ## Will be used by external-dns to authenticate against etcd + ## + keyFilename: "key.pem" + ## OpenStack Designate provider configuration to be set via arguments/env. variables + ## + designate: + ## Set Openstack environment variables (optional). Username and password will be saved in a kubernetes secret + ## The alternative to this is to export the necessary Openstack environment variables in the extraEnv argument + ## @param designate.username When using the Designate provider, specify the OpenStack authentication username. (optional) + ## @param designate.password When using the Designate provider, specify the OpenStack authentication password. (optional) + ## @param designate.authUrl When using the Designate provider, specify the OpenStack authentication Url. (optional) + ## @param designate.regionName When using the Designate provider, specify the OpenStack region name. (optional) + ## @param designate.userDomainName When using the Designate provider, specify the OpenStack user domain name. (optional) + ## @param designate.projectName When using the Designate provider, specify the OpenStack project name. (optional) + ## @param designate.username When using the Designate provider, specify the OpenStack authentication username. (optional) + ## e.g: + ## username: "someuser" + ## password: "p@55w0rd" + ## authUrl: "https://mykeystone.example.net:5000/v3/" + ## regionName: "dev" + ## userDomainName: "development" + ## projectName: "myteamname" + ## + username: "" + password: "" + authUrl: "" + regionName: "" + userDomainName: "" + projectName: "" + ## @param designate.customCAHostPath When using the Designate provider, use a CA file already on the host to validate Openstack APIs. This conflicts with `designate.customCA.enabled` + ## This conflicts setting the above customCA to true and chart rendering will fail if you set customCA to true and specify customCAHostPath + ## + customCAHostPath: "" + ## Use a custom CA (optional) + ## @param designate.customCA.enabled When using the Designate provider, enable a custom CA (optional) + ## @param designate.customCA.content When using the Designate provider, set the content of the custom CA + ## @param designate.customCA.mountPath When using the Designate provider, set the mountPath in which to mount the custom CA configuration + ## @param designate.customCA.filename When using the Designate provider, set the custom CA configuration filename + ## + customCA: + enabled: false + content: "" + mountPath: "/config/designate" + filename: "designate-ca.pem" + ## DigitalOcean configuration to be set via arguments/env. variables + ## + digitalocean: + ## @param digitalocean.apiToken When using the DigitalOcean provider, `DO_TOKEN` to set (optional) + ## + apiToken: "" + ## @param digitalocean.secretName Use an existing secret with key "digitalocean_api_token" defined. + ## This ignores digitalocean.apiToken + ## + secretName: "" + ## Google configuration to be set via arguments/env. variables + ## + google: + ## @param google.project When using the Google provider, specify the Google project (required when provider=google) + ## + project: "" + ## @param google.serviceAccountSecret When using the Google provider, specify the existing secret which contains credentials.json (optional) + ## + serviceAccountSecret: "" + ## @param google.serviceAccountSecretKey When using the Google provider with an existing secret, specify the key name (optional) + ## + serviceAccountSecretKey: "credentials.json" + ## @param google.serviceAccountKey When using the Google provider, specify the service account key JSON file. In this case a new secret will be created holding this service account (optional) + ## + serviceAccountKey: "" + ## Hetzner configuration to be set via arguments/env. variables + ## + hetzner: + ## @param hetzner.token When using the Hetzner provider, specify your token here. (required when `hetzner.secretName` is not provided. In this case a new secret will be created holding the token.) + ## Mutually exclusive with `hetzner.secretName`. + ## + token: "" + ## @param hetzner.secretName When using the Hetzner provider, specify the existing secret which contains your token. Disables the usage of `hetzner.token` (optional) + ## + secretName: "" + ## @param hetzner.secretKey When using the Hetzner provider with an existing secret, specify the key name (optional) + ## + secretKey: "hetzner_token" + ## Infoblox configuration to be set via arguments/env. variables + ## + infoblox: + ## @param infoblox.wapiUsername When using the Infoblox provider, specify the Infoblox WAPI username + ## + wapiUsername: "admin" + ## @param infoblox.wapiPassword When using the Infoblox provider, specify the Infoblox WAPI password (required when provider=infoblox) + ## + wapiPassword: "" + ## @param infoblox.gridHost When using the Infoblox provider, specify the Infoblox Grid host (required when provider=infoblox) + ## + gridHost: "" + ## @param infoblox.view Infoblox view + ## + view: "" + ## Optional keys + ## + ## Existing secret name, when in place wapiUsername and wapiPassword are not required + ## secretName: "" + ## + ## @param infoblox.domainFilter When using the Infoblox provider, specify the domain (optional) + ## + domainFilter: "" + ## @param infoblox.noSslVerify When using the Infoblox provider, disable SSL verification (optional) + ## + noSslVerify: false + ## @param infoblox.wapiPort When using the Infoblox provider, specify the Infoblox WAPI port (optional) + ## + wapiPort: "" + ## @param infoblox.wapiVersion When using the Infoblox provider, specify the Infoblox WAPI version (optional) + ## + wapiVersion: "" + ## @param infoblox.wapiConnectionPoolSize When using the Infoblox provider, specify the Infoblox WAPI request connection pool size (optional) + ## + wapiConnectionPoolSize: "" + ## @param infoblox.wapiHttpTimeout When using the Infoblox provider, specify the Infoblox WAPI request timeout in seconds (optional) + ## + wapiHttpTimeout: "" + ## @param infoblox.maxResults When using the Infoblox provider, specify the Infoblox Max Results (optional) + ## + maxResults: "" + ## Linode configuration to be set via arguments/env. variables + ## + linode: + ## @param linode.apiToken When using the Linode provider, `LINODE_TOKEN` to set (optional) + ## + apiToken: "" + ## @param linode.secretName Use an existing secret with key "linode_api_token" defined. + ## This ignores linode.apiToken + ## + secretName: "" + ## NS1 configuration to be set via arguments/env. variables + ## @param ns1.minTTL When using the ns1 provider, specify minimal TTL, as an integer, for records + ## + ns1: + minTTL: 10 + ## OVH configuration to be set via arguments/env. variables + ## + ovh: + ## @param ovh.consumerKey When using the OVH provider, specify the existing consumer key. (required when provider=ovh and `ovh.secretName` is not provided.) + ## + consumerKey: "" + ## @param ovh.applicationKey When using the OVH provider with an existing application, specify the application key. (required when provider=ovh and `ovh.secretName` is not provided.) + ## + applicationKey: "" + ## @param ovh.applicationSecret When using the OVH provider with an existing application, specify the application secret. (required when provider=ovh and `ovh.secretName` is not provided.) + ## + applicationSecret: "" + ## @param ovh.secretName When using the OVH provider, it's the name of the secret containing `ovh_consumer_key`, `ovh_application_key` and `ovh_application_secret`. Disables usage of other `ovh`. + ## with following keys: + ## - ovh_consumer_key + ## - ovh_application_key + ## - ovh_application_secret + ## This ignores consumerKey, applicationKey & applicationSecret + ## + secretName: "" + ## Scaleway configuration to be set via arguments/env. variables + ## + scaleway: + ## @param scaleway.scwAccessKey When using the Scaleway provider, specify an existing access key. (required when provider=scaleway) + ## + scwAccessKey: "" + ## @param scaleway.scwSecretKey When using the Scaleway provider, specify an existing secret key. (required when provider=scaleway) + ## + scwSecretKey: "" + ## @param scaleway.scwDefaultOrganizationId When using the Scaleway provider, specify the existing organization id. (required when provider=scaleway) + ## + scwDefaultOrganizationId: "" + ## RFC 2136 configuration to be set via arguments/env. variables + ## + rfc2136: + ## @param rfc2136.host When using the rfc2136 provider, specify the RFC2136 host (required when provider=rfc2136) + ## + host: "" + ## @param rfc2136.port When using the rfc2136 provider, specify the RFC2136 port (optional) + ## + port: 53 + ## @param rfc2136.zone When using the rfc2136 provider, specify the zone (required when provider=rfc2136) + ## + zone: "" + ## @param rfc2136.tsigSecret When using the rfc2136 provider, specify the tsig secret to enable security. (do not specify if `rfc2136.secretName` is provided.) (optional) + ## + tsigSecret: "" + ## @param rfc2136.secretName When using the rfc2136 provider, specify the existing secret which contains your tsig secret. Disables the usage of `rfc2136.tsigSecret` (optional) + ## + secretName: "" + ## @param rfc2136.tsigSecretAlg When using the rfc2136 provider, specify the tsig secret to enable security (optional) + ## + tsigSecretAlg: hmac-sha256 + ## @param rfc2136.tsigKeyname When using the rfc2136 provider, specify the tsig keyname to enable security (optional) + ## + tsigKeyname: externaldns-key + ## @param rfc2136.tsigAxfr When using the rfc2136 provider, enable AFXR to enable security (optional) + ## + tsigAxfr: true + ## @param rfc2136.minTTL When using the rfc2136 provider, specify minimal TTL (in duration format) for records[ns, us, ms, s, m, h], see more https://golang.org/pkg/time/#ParseDuration + ## + minTTL: "0s" + ## @param rfc2136.rfc3645Enabled When using the rfc2136 provider, extend using RFC3645 to support secure updates over Kerberos with GSS-TSIG + ## + rfc3645Enabled: false + ## @param rfc2136.kerberosConfig When using the rfc2136 provider with rfc3645Enabled, the contents of a configuration file for krb5 (optional) + ## + kerberosConfig: "" + ## @param rfc2136.kerberosUsername When using the rfc2136 provider with rfc3645Enabled, specify the username to authenticate with (optional) + ## + kerberosUsername: "" + ## @param rfc2136.kerberosPassword When using the rfc2136 provider with rfc3645Enabled, specify the password to authenticate with (optional) + ## + kerberosPassword: "" + ## @param rfc2136.kerberosRealm When using the rfc2136 provider with rfc3645Enabled, specify the realm to authenticate to (required when provider=rfc2136 and rfc2136.rfc3645Enabled=true) + ## + kerberosRealm: "" + + ## PowerDNS configuration to be set via arguments/env. variables + ## + pdns: + ## @param pdns.apiUrl When using the PowerDNS provider, specify the API URL of the server. + ## + apiUrl: "" + ## @param pdns.apiPort When using the PowerDNS provider, specify the API port of the server. + ## + apiPort: "8081" + ## @param pdns.apiKey When using the PowerDNS provider, specify the API key of the server. + ## + apiKey: "" + ## @param pdns.secretName When using the PowerDNS provider, specify as secret name containing the API Key + ## + secretName: "" + ## TransIP configuration to be set via arguments/env. variables + ## + transip: + ## @param transip.account When using the TransIP provider, specify the account name. + ## + account: "" + ## @param transip.apiKey When using the TransIP provider, specify the API key to use. + ## + apiKey: "" + ## VinylDNS configuration to be set via arguments/env. variables + ## + vinyldns: + ## @param vinyldns.host When using the VinylDNS provider, specify the VinylDNS API host. + ## + host: "" + ## @param vinyldns.accessKey When using the VinylDNS provider, specify the Access Key to use. + ## + accessKey: "" + ## @param vinyldns.secretKey When using the VinylDNS provider, specify the Secret key to use. + ## + secretKey: "" + ## @param domainFilters Limit possible target zones by domain suffixes (optional) + ## + domainFilters: [] + ## @param excludeDomains Exclude subdomains (optional) + ## + excludeDomains: [] + ## @param regexDomainFilter Limit possible target zones by regex domain suffixes (optional) + ## If regexDomainFilter is specified, domainFilters will be ignored + ## + regexDomainFilter: "" + ## @param regexDomainExclusion Exclude subdomains by using regex pattern (optional) + ## If regexDomainFilter is specified, excludeDomains will be ignored and external-dns will use regexDomainExclusion even though regexDomainExclusion is empty + ## + regexDomainExclusion: "" + ## @param zoneNameFilters Filter target zones by zone domain (optional) + ## + zoneNameFilters: [] + ## @param zoneIdFilters Limit possible target zones by zone id (optional) + ## + zoneIdFilters: [] + ## @param annotationFilter Filter sources managed by external-dns via annotation using label selector (optional) + ## + annotationFilter: "" + ## @param dryRun When enabled, prints DNS record changes rather than actually performing them (optional) + ## + dryRun: false + ## @param triggerLoopOnEvent When enabled, triggers run loop on create/update/delete events in addition to regular interval (optional) + ## + triggerLoopOnEvent: false + ## @param interval Interval update period to use + ## + interval: "1m" + ## @param logLevel Verbosity of the logs (options: panic, debug, info, warning, error, fatal, trace) + ## + logLevel: info + ## @param logFormat Which format to output logs in (options: text, json) + ## + logFormat: text + ## @param policy Modify how DNS records are synchronized between sources and providers (options: sync, upsert-only ) + ## + policy: upsert-only + ## @param registry Registry method to use (options: txt, aws-sd, noop) + ## ref: https://github.com/kubernetes-sigs/external-dns/blob/master/docs/proposal/registry.md + ## + registry: "txt" + ## @param txtPrefix When using the TXT registry, a prefix for ownership records that avoids collision with CNAME entries (optional) (Mutual exclusive with txt-suffix) + ## + txtPrefix: "" + ## @param txtSuffix When using the TXT registry, a suffix for ownership records that avoids collision with CNAME entries (optional).suffix (Mutual exclusive with txt-prefix) + ## + txtSuffix: "" + ## @param txtOwnerId A name that identifies this instance of ExternalDNS. Currently used by registry types: txt & aws-sd (optional) + ## But other registry types might be added in the future. + ## + txtOwnerId: "" + ## @param forceTxtOwnerId (backward compatibility) When using the non-TXT registry, it will pass the value defined by `txtOwnerId` down to the application (optional) + ## This setting added for backward compatibility for + ## customers who already used bitnami/external-dns helm chart + ## to privision 'aws-sd' registry type. + ## Previously bitnami/external-dns helm chart did not pass + ## txtOwnerId value down to the external-dns application + ## so the app itself sets that value to be a string 'default'. + ## If existing customers force the actual txtOwnerId value to be + ## passed properly, their external-dns updates will stop working + ## because the owner's value for exting DNS records in + ## AWS Service Discovery would remain 'default'. + ## NOTE: It is up to the end user to update AWS Service Discovery + ## 'default' values in description fields to make it work with new + ## value passed as txtOwnerId when forceTxtOwnerId=true + forceTxtOwnerId: false + ## @param extraArgs Extra arguments to be passed to external-dns + ## + extraArgs: {} + ## @param extraEnv Extra environment variables to be passed to external-dns + ## + ## extraEnv: + ## - name: VARNAME1 + ## value: value1 + ## - name: VARNAME2 + ## valueFrom: + ## secretKeyRef: + ## name: existing-secret + ## key: varname2-key + ## + extraEnv: [] + ## @param replicas Desired number of ExternalDNS replicas + ## + replicas: 1 + ## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity + ## + podAffinityPreset: "" + ## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity + ## Allowed values: soft, hard + ## + podAntiAffinityPreset: soft + ## Node affinity preset + ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity + ## + nodeAffinityPreset: + ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## + type: "" + ## @param nodeAffinityPreset.key Node label key to match Ignored if `affinity` is set. + ## E.g. + ## key: "kubernetes.io/e2e-az-name" + ## + key: "" + ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set. + ## E.g. + ## values: + ## - e2e-az1 + ## - e2e-az2 + ## + values: [] + ## @param affinity Affinity for pod assignment + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set + ## + affinity: {} + ## @param nodeSelector Node labels for pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + ## @param tolerations Tolerations for pod assignment + ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + ## @param podAnnotations Additional annotations to apply to the pod. + ## + podAnnotations: {} + ## @param podLabels Additional labels to be added to pods + ## + podLabels: {} + ## @param priorityClassName priorityClassName + ## + priorityClassName: "" + ## @param secretAnnotations Additional annotations to apply to the secret + ## + secretAnnotations: {} + ## Options for the source type "crd" + ## + crd: + ## @param crd.create Install and use the integrated DNSEndpoint CRD + ## + create: false + ## @param crd.apiversion Sets the API version for the CRD to watch + ## + apiversion: "" + ## @param crd.kind Sets the kind for the CRD to watch + ## + kind: "" + ## Kubernetes svc configutarion + ## + service: + ## @param service.enabled Whether to create Service resource or not + ## + enabled: true + ## @param service.type Kubernetes Service type + ## + type: ClusterIP + ## @param service.port ExternalDNS client port + ## + port: 7979 + ## @param service.nodePort Port to bind to for NodePort service type (client port) + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + ## + nodePort: "" + ## @param service.clusterIP IP address to assign to service + ## + clusterIP: "" + ## @param service.externalIPs Service external IP addresses + ## + externalIPs: [] + ## @param service.loadBalancerIP IP address to assign to load balancer (if supported) + ## + loadBalancerIP: "" + ## @param service.loadBalancerSourceRanges List of IP CIDRs allowed access to load balancer (if supported) + ## + loadBalancerSourceRanges: [] + ## @param service.annotations Annotations to add to service + ## set the LoadBalancer service type to internal only. + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer + ## + annotations: {} + ## @param service.labels Provide any additional labels which may be required. + ## This can be used to have external-dns show up in `kubectl cluster-info` + ## kubernetes.io/cluster-service: "true" + ## kubernetes.io/name: "external-dns" + ## + labels: {} + ## ServiceAccount parameters + ## https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ + ## + serviceAccount: + ## @param serviceAccount.create Determine whether a Service Account should be created or it should reuse a exiting one. + ## + create: true + ## @param serviceAccount.name ServiceAccount to use. A name is generated using the external-dns.fullname template if it is not set + ## + name: "" + ## @param serviceAccount.annotations Additional Service Account annotations + ## + annotations: {} + ## @param serviceAccount.automountServiceAccountToken Automount API credentials for a service account. + ## + automountServiceAccountToken: true + ## RBAC parameters + ## https://kubernetes.io/docs/reference/access-authn-authz/rbac/ + ## + rbac: + ## @param rbac.create Whether to create & use RBAC resources or not + ## + create: true + ## @param rbac.clusterRole Whether to create Cluster Role. When set to false creates a Role in `namespace` + ## + clusterRole: true + ## @param rbac.apiVersion Version of the RBAC API + ## + apiVersion: v1 + ## @param rbac.pspEnabled Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later + ## + pspEnabled: false + ## @param securityContext Security context for the container + ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + ## Example: + ## securityContext: + ## allowPrivilegeEscalation: false + ## readOnlyRootFilesystem: true + ## capabilities: + ## drop: ["ALL"] + ## + securityContext: {} + ## @param podSecurityContext.fsGroup Group ID for the container + ## @param podSecurityContext.runAsUser User ID for the container + ## + podSecurityContext: + fsGroup: 1001 + runAsUser: 1001 + ## Container resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## We usually recommend not to specify default resources and to leave this as a conscious + ## choice for the user. This also increases chances charts run on environments with little + ## resources, such as Minikube. If you do want to specify resources, uncomment the following + ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. + ## @param resources.limits The resources limits for the container + ## @param resources.requests The requested resources for the container + ## + resources: + ## Example: + ## limits: + ## cpu: 50m + ## memory: 50Mi + limits: {} + ## Examples: + ## requests: + ## cpu: 10m + ## memory: 50Mi + requests: {} + ## Configure extra options for liveness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param livenessProbe.enabled Enable livenessProbe + ## @param livenessProbe.httpGet.path Request path for livenessProbe + ## @param livenessProbe.httpGet.port Port for livenessProbe + ## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe + ## @param livenessProbe.periodSeconds Period seconds for livenessProbe + ## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe + ## @param livenessProbe.failureThreshold Failure threshold for livenessProbe + ## @param livenessProbe.successThreshold Success threshold for livenessProbe + ## + livenessProbe: + enabled: true + httpGet: + path: /healthz + port: http + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 2 + successThreshold: 1 + ## Configure extra options for readiness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param readinessProbe.enabled Enable readinessProbe + ## @param readinessProbe.httpGet.path Request path for readinessProbe + ## @param readinessProbe.httpGet.port Port for readinessProbe + ## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe + ## @param readinessProbe.periodSeconds Period seconds for readinessProbe + ## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe + ## @param readinessProbe.failureThreshold Failure threshold for readinessProbe + ## @param readinessProbe.successThreshold Success threshold for readinessProbe + ## + readinessProbe: + enabled: true + httpGet: + path: /healthz + port: http + initialDelaySeconds: 5 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 6 + successThreshold: 1 + ## @param extraVolumes A list of volumes to be added to the pod + ## + extraVolumes: [] + ## @param extraVolumeMounts A list of volume mounts to be added to the pod + ## + extraVolumeMounts: [] + ## @param podDisruptionBudget Configure PodDisruptionBudget + ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ + podDisruptionBudget: {} + ## Prometheus Exporter / Metrics + ## + metrics: + ## @param metrics.enabled Enable prometheus to access external-dns metrics endpoint + ## + enabled: false + ## @param metrics.podAnnotations Annotations for enabling prometheus to access the metrics endpoint + ## + podAnnotations: {} + ## Prometheus Operator ServiceMonitor configuration + ## + serviceMonitor: + ## @param metrics.serviceMonitor.enabled Create ServiceMonitor object + ## + enabled: false + ## @param metrics.serviceMonitor.namespace Namespace in which Prometheus is running + ## + namespace: "" + ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped + ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended + ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + scrapeTimeout: "" + ## @param metrics.serviceMonitor.selector Additional labels for ServiceMonitor object + ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration + ## e.g: + ## selector: + ## prometheus: my-prometheus + ## + selector: {} + + ``` +--8<-- "kubernetes-why-full-values-in-configmap.md" + +Then work your way through the values you pasted, and change any which are specific to your configuration. + +I recommend changing: + +```yaml + sources: + # - crd + - service + - ingress + # - contour-httpproxy +``` + +To: + +```yaml + sources: + - crd + # - service + # - ingress + # - contour-httpproxy +``` + +!!! question "Why only use CRDs as a source?" + > I thought the whole point of this magic was to create DNS entries from services or ingresses! + + You can do that, yes. However, I prefer to be prescriptive, and explicitly decide when a DNS entry will be created. By [using CRDs](#using-crds) (*External DNS creates a new type of resource called a "DNSEndpoint"*), I add my DNS entries as YAML files into each kustomization, and I can still employ wildcard DNS where appropriate. + +### Secret + +As you work your way through `values.yaml`, you'll notice that it contains specific placholders for credentials for various DNS providers. +Take for example, this config for cloudflare: + +???+ example "Example snippet of CloudFlare config from ConfigMap" + ```yaml + cloudflare: + ## @param cloudflare.apiToken When using the Cloudflare provider, `CF_API_TOKEN` to set (optional) + ## + apiToken: "" + ## @param cloudflare.apiKey When using the Cloudflare provider, `CF_API_KEY` to set (optional) + ## + apiKey: "" + ## @param cloudflare.secretName When using the Cloudflare provider, it's the name of the secret containing cloudflare_api_token or cloudflare_api_key. + ## This ignores cloudflare.apiToken, and cloudflare.apiKey + ## + secretName: "" + ## @param cloudflare.email When using the Cloudflare provider, `CF_API_EMAIL` to set (optional). Needed when using CF_API_KEY + ## + email: "" + ## @param cloudflare.proxied When using the Cloudflare provider, enable the proxy feature (DDOS protection, CDN...) (optional) + ## + proxied: true + ``` + +In the case of CloudFlare (*and this may differ per-provider*), you can either enter your credentials in cleartext (*baaad idea, since we intend to commit these files into a repo*), or you can reference a secret, which External DNS will expect to find in its namespace. + +Thanks to [Sealed Secrets](/kubernetes/sealed-secrets/), we have a safe way of committing secrets into our repository, so to create this cloudflare secret, you'd run something like this: + +```bash + kubectl create secret generic cloudflare-api-token \ + --namespace external-dns \ + --dry-run=client \ + --from-literal=cloudflare_api_token=gobbledegook -o json \ + | kubeseal --cert \ + | kubectl create -f - \ + > /external-dns/sealedsecret-cloudflare-api-token.yaml +``` + +And your sealed secret would end up in `external-dns/sealedsecret-cloudflare-api-token.yaml`. + +### HelmRelease + +Lastly, having set the scene above, we define the HelmRelease which will actually deploy the external-dns controller into the cluster, with the config we defined above. I save this in my flux repo as `external-dns/helmrelease-external-dns.yaml`: + +??? example "Example HelmRelease (click to expand)" + ```yaml + apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + metadata: + name: external-dns + namespace: external-dns + spec: + chart: + spec: + chart: external-dns + version: 4.x + sourceRef: + kind: HelmRepository + name: bitnami + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: external-dns + valuesFrom: + - kind: ConfigMap + name: external-dns-helm-chart-value-overrides + valuesKey: values.yaml # This is the default, but best to be explicit for clarity + ``` + +--8<-- "kubernetes-why-not-config-in-helmrelease.md" + +## Serving + +Once you've committed your YAML files into your repo, you should soon see some pods appear in the `external-dns` namespace! + +### Using CRDs + +If you're the sort of person who doesn't like to just leak[^1] every service/ingress name into public DNS, you may prefer to manage your DNS entries using CRDs. + +You can instruct ExternalDNS to create any DNS entry you please, using a **DNSEndpoint** resource, and place these in the appropriate folder in your flux repo to be deployed with your HelmRelease: + +```yaml +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: batcave.example.com + namespace: batcave +spec: + endpoints: + - dnsName: batcave.example.com + recordTTL: 180 + recordType: A + targets: + - 192.168.99.216 +``` + +You can even create wildcard DNS entries, for example by setting `dnsName: *.batcave.example.com`. + +Finally, (*and this is how I prefer to manage mine*), you can create a few A records for "permanent" endpoints stuff like Ingresses, and then point arbitrary DNS names to these records, like this: + +```yaml +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: "robinsroost.example.com" + namespace: batcave +spec: + endpoints: + - dnsName: "robinsroost.example.com" + recordTTL: 180 + recordType: CNAME + targets: + - "batcave.example.com" +``` + +### Troubleshooting + +If DNS entries **aren't** created as you expect, then the best approach is to check the external-dns logs, by running `kubectl logs -n external-dns -l app.kubernetes.io/name=external-dns`. + +--8<-- "recipe-footer.md" + +[^1]: Why yes, I **have** accidentally caused outages / conflicts by "leaking" DNS entries automatically! diff --git a/manuscript/kubernetes/index.md b/manuscript/kubernetes/index.md index f2c94df..eba98d3 100644 --- a/manuscript/kubernetes/index.md +++ b/manuscript/kubernetes/index.md @@ -3,68 +3,47 @@ My first introduction to Kubernetes was a children's story: - + -## Wait, what? +## Why Kubernetes? -Why would you want to use Kubernetes for your self-hosted recipes over simple Docker Swarm? Here's my personal take.. +Why would you want to Kubernetes for your self-hosted recipes, over simple Docker Swarm? Here's my personal take.. -I use Docker swarm both at home (_on a single-node swarm_), and on a trio of Ubuntu 16.04 VPSs in a shared lab OpenStack environment. +### Docker Swarm is dead -In both cases above, I'm responsible for maintaining the infrastructure supporting Docker - either the physical host, or the VPS operating systems. +Sorry to say, but from where I sit, there's no innovation or development happening in docker swarm. -I started experimenting with Kubernetes as a plan to improve the reliability of my cryptocurrency mining pools (_the contended lab VPSs negatively impacted the likelihood of finding a block_), and as a long-term replacement for my aging home server. +Yes, I know, after Docker Inc [sold its platform business to Mirantis in Nov 2019](https://www.mirantis.com/blog/mirantis-acquires-docker-enterprise-platform-business/), in Feb 2020 Mirantis [back-tracked](https://www.mirantis.com/blog/mirantis-will-continue-to-support-and-develop-docker-swarm/) on their original plan to sunset swarm after 2 years, and stated that they'd continue to invest in swarm. But seriously, look around. Nobody is interested in swarm right now... -What I enjoy about building recipes and self-hosting is **not** the operating system maintenance, it's the tools and applications that I can quickly launch in my swarms. If I could **only** play with the applications, and not bother with the maintenance, I totally would. +... Not even Mirantis! As of Nov 2021, the Mirantis blog tag "[kubernetes](https://www.mirantis.com/tag/kubernetes/)" had 8 posts within the past month. The tag "[docker](https://www.mirantis.com/tag/docker/)" has 8 posts in the past **2 years**, the 8th being the original announcement of the Docker aquisition. The tag "[docker swarm](https://www.mirantis.com/tag/docker-swarm/)" has only 2 posts, **ever**. -Kubernetes (_on a cloud provider, mind you!_) does this for me. I feed Kubernetes a series of YAML files, and it takes care of all the rest, including version upgrades, node failures/replacements, disk attach/detachments, etc. +Dead. [Extinct. Like the doodoo](https://youtu.be/NxnZC9L_YXE?t=47). + +### Once you go Kubernetes, you can't go back + +For years now, [I've provided Kubernetes design consulting](https://www.funkypenguin.co.nz/work-with-me/) to small clients and large enterprises. The implementation details in each case vary widely, but there are some primitives which I've come to take for granted, and I wouldn't easily do without. A few examples: + +* **CLI drives API from anywhere**. From my laptop, I can use my credentials to manage any number of Kubernetes clusters, simply by switching kubectl "context". Each interaction is an API call against an HTTPS endpoint. No SSHing to hosts and manually running docker command as root! +* **GitOps is magic**. There are multiple ways to achieve it, but having changes you commit to a repo automatically applied to a cluster, "Just Works(tm)". The process removes so much friction from making changes that it makes you more productive, and a better "gitizen" ;P +* **Controllers are trustworthy**. I've come to trust that when I tell Kubernetes to run 3 replicas on separate hosts, to scale up a set of replicas based on CPU load metrics, or provision a blob of storage for a given workloa, that this will be done in a consistent and visible way. I'll be able to see logs / details for each action taken by the controller, and adjust my own instructions/configuration accordingly if necessary. ## Uggh, it's so complicated! -Yes, but that's a necessary sacrifice for the maturity, power and flexibility it offers. Like docker-compose syntax, Kubernetes uses YAML to define its various, interworking components. +Yes, it's more complex than Docker Swarm. And that complexity can definately be a barrier, although with improved tooling, it's continually becoming less-so. However, you don't need to be a mechanic to drive a car or to use a chainsaw. You just need a basic understanding of some core primitives, and then you get on with using the tool to achieve your goals, without needing to know every detail about how it works! -Let's talk some definitions. Kubernetes.io provides a [glossary](https://kubernetes.io/docs/reference/glossary/?fundamental=true). My definitions are below: +Your end-goal is probably "*I want to reliably self-host services I care about*", and not "*I want to fully understand a complex, scalable, and highly sophisticated container orchestrator*". [^1] -- **Node** : A compute instance which runs docker containers, managed by a cluster master. - -- **Cluster** : One or more "worker nodes" which run containers. Very similar to a Docker Swarm node. In most cloud provider deployments, the [master node for your cluster is provided free of charge](https://www.sdxcentral.com/articles/news/google-eliminates-gke-management-fees-kubernetes-clusters/2017/11/), but you don't get to access it. - -- **Pod** : A collection of one or more the containers. If a pod runs multiple containers, these containers always run on the same node. - -- **Deployment** : A definition of a desired state. I.e., "I want a pod with containers A and B running". The Kubernetes master then ensures that any changes necessary to maintain the state are taken. (_I.e., if a pod crashes, but is supposed to be running, a new pod will be started_) - -- **Service** : Unlike Docker Swarm, service discovery is not _built in_ to Kubernetes. For your pods to discover each other (say, to have "webserver" talk to "database"), you create a service for each pod, and refer to these services when you want your containers (_in pods_) to talk to each other. Complicated, yes, but the abstraction allows you to do powerful things, like auto-scale-up a bunch of database "pods" behind a service called "database", or perform a rolling container image upgrade with zero impact. - -- **External access** : Services not only allow pods to discover each other, but they're also the mechanism through which the outside world can talk to a container. At the simplest level, this is akin to exposing a container port on a docker host. - -- **Ingress** : When mapping ports to applications is inadequate (think virtual web hosts), an ingress is a sort of "inbound router" which can receive requests on one port (i.e., HTTPS), and forward them to a variety of internal pods, based on things like VHOST, etc. For us, this is the functional equivalent of what Traefik does in Docker Swarm. In fact, we use a Traefik Ingress in Kubernetes to accomplish the same. - -- **Persistent Volume** : A virtual disk which is attached to a pod, storing persistent data. Meets the requirement for shared storage from Docker Swarm. I.e., if a persistent volume (PV) is bound to a pod, and the pod dies and is recreated, or get upgraded to a new image, the PV the data is bound to the new container. PVs can be "claimed" in a YAML definition, so that your Kubernetes provider will auto-create a PV when you launch your pod. PVs can be snapshotted. - -- **Namespace** : An abstraction to separate a collection of pods, services, ingresses, etc. A "virtual cluster within a cluster". Can be used for security, or simplicity. For example, since we don't have individual docker stacks anymore, if you commonly name your database container "db", and you want to deploy two applications which both use a database container, how will you name your services? Use namespaces to keep each application ("nextcloud" vs "kanboard") separate. Namespaces also allow you to allocate resources **limits** to the aggregate of containers in a namespace, so you could, for example, limit the "nextcloud" namespace to 2.3 CPUs and 1200MB RAM. +So let's get on with learning how to use the tool... ## Mm.. maaaaybe, how do I start? -If you're like me, and you learn by doing, either play with the examples at , or jump right in by setting up a Google Cloud trial (_you get \$300 credit for 12 months_), or a small cluster on [Digital Ocean](/kubernetes/cluster/). +Primarily you need 2 things: -If you're the learn-by-watching type, just search for "Kubernetes introduction video". There's a **lot** of great content available. +1. A cluster +2. A way to deploy workloads into the cluster -## I'm ready, gimme some recipes! - -As of Jan 2019, our first (_and only!_) Kubernetes recipe is a WIP for the Mosquitto [MQTT](/recipes/mqtt/) broker. It's a good, simple starter if you're into home automation (_shoutout to [Home Assistant](/recipes/homeassistant/)!_), since it only requires a single container, and a simple NodePort service. - -I'd love for your [feedback](/support/) on the Kubernetes recipes, as well as suggestions for what to add next. The current rough plan is to replicate the Chef's Favorites recipes (_see the left-hand panel_) into Kubernetes first. - -## Move on.. - -Still with me? Good. Move on to reviewing the design elements - -- Start (this page) - Why Kubernetes? -- [Design](/kubernetes/design/) - How does it fit together? -- [Cluster](/kubernetes/cluster/) - Setup a basic cluster -- [Load Balancer](/kubernetes/loadbalancer/) - Setup inbound access -- [Snapshots](/kubernetes/snapshots/) - Automatically backup your persistent data -- [Helm](/kubernetes/helm/) - Uber-recipes from fellow geeks -- [Traefik](/kubernetes/traefik/) - Traefik Ingress via Helm +Practically, you need some extras too, but you can mix-and-match these. --8<-- "recipe-footer.md" + +[^1]: Of course, if you **do** enjoy understanding the intricacies of how your tools work, you're in good company! diff --git a/manuscript/kubernetes/ingress/index.md b/manuscript/kubernetes/ingress/index.md new file mode 100644 index 0000000..414239b --- /dev/null +++ b/manuscript/kubernetes/ingress/index.md @@ -0,0 +1,19 @@ +--- +description: What is a Kubernetes Ingress? +--- +# Ingresses + +In Kubernetes, an Ingress is a way to describe how to route traffic coming **into** the cluster, so that (*for example*) will end up on a [Radarr][radarr] pod, but will end up on a [Sonarr][sonarr] pod. + +![Ingress illustration](/images/ingress.jpg) + +There are many popular Ingress Controllers, we're going to cover two equally useful options: + +1. [Traefik](/kubernetes/ingress/traefik/) +2. [Nginx](/kubernetes/ingress/nginx/) + +Choose at least one of the above (*there may be valid reasons to use both!* [^1]), so that you can expose applications via Ingress. + +--8<-- "recipe-footer.md" + +[^1]: One cluster I manage uses traefik Traefik for public services, but Nginx for internal managemnet services such as Prometheus, etc. The idea is that you'd need one type of Ingress to help debug problems with the _other_ type! diff --git a/manuscript/kubernetes/ingress/nginx.md b/manuscript/kubernetes/ingress/nginx.md new file mode 100644 index 0000000..74334e4 --- /dev/null +++ b/manuscript/kubernetes/ingress/nginx.md @@ -0,0 +1,240 @@ +--- +description: Nginx Ingress Controller +--- +# Nginx Ingress Controller + +The [Nginx Ingress Controller](https://kubernetes.github.io/ingress-nginx/) is the grandpappy of Ingress Controllers, with releases dating back ot at least 2016. Of course, Nginx itself is a battle-tested rock, [released in 2004](https://en.wikipedia.org/wiki/Nginx) and has been constantly updated / improved ever since. + +Having such a pedigree though can make it a little awkward for the unfamiliar to configure Ngnix, whereas something like [Traefik](/kubernetes/ingress/traefik/), being newer-on-the-scene, is more user-friendly, and offers (*among other features*) a free **dashboard**. (*Nginx's dashboard is only available in the commercial Nginx+ package, which is a [monumental PITA](https://www.nginx.com/blog/deploying-nginx-nginx-plus-docker/) to run*) + +Nginx Ingress Controller does make for a nice, simple "default" Ingress controller, if you don't want to do anything fancy. + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] A [load-balancer](/kubernetes/load-balancer/) solution (*either [k3s](/kubernetes/load-balancer/k3s/) or [MetalLB](/kubernetes/load-balancer/metallb/)*) + + Optional: + + * [x] [Cert-Manager](/kubernetes/cert-manager/) deployed to request/renew certificates + * [x] [External DNS](/kubernetes/external-dns/) configured to respond to ingresses, or with a wildcard DNS entry + +## Preparation + +### Namespace + +We need a namespace to deploy our HelmRelease and associated ConfigMaps into. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/namespaces/namespace-nginx-ingress-controller.yaml`: + +??? example "Example NameSpace (click to expand)" + ```yaml + apiVersion: v1 + kind: Namespace + metadata: + name: nginx-ingress-controller + ``` + +### HelmRepository + +Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. In this case, we're using the (*prolific*) [bitnami chart repository](https://github.com/bitnami/charts/tree/master/bitnami), so per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/helmrepositories/helmrepository-bitnami.yaml`: + +??? example "Example HelmRepository (click to expand)" + ```yaml + apiVersion: source.toolkit.fluxcd.io/v1beta1 + kind: HelmRepository + metadata: + name: bitnami + namespace: flux-system + spec: + interval: 15m + url: https://charts.bitnami.com/bitnami + ``` + +### Kustomization + +Now that the "global" elements of this deployment (*Namespace and HelmRepository*) have been defined, we do some "flux-ception", and go one layer deeper, adding another Kustomization, telling flux to deploy any YAMLs found in the repo at `/nginx-ingress-controller`. I create this Kustomization in my flux repo at `flux-system/kustomizations/kustomization-nginx-ingress-controller.yaml`: + +??? example "Example Kustomization (click to expand)" + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: nginx-ingress-controller + namespace: flux-system + spec: + interval: 15m + path: ./nginx-ingress-controller + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: nginx-ingress-controller + namespace: nginx-ingress-controller + + ``` + +### ConfigMap + +Now we're into the nginx-ingress-controller-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/bitnami/charts/blob/master/bitnami/nginx-ingress-controller/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 tabs (*since they're "encapsulated" within the ConfigMap YAML*). I create this in my flux repo at `nginx-ingress-controller/configmap-nginx-ingress-controller-helm-chart-value-overrides.yaml`: + +??? example "Example ConfigMap (click to expand)" + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + creationTimestamp: null + name: nginx-ingress-controller-helm-chart-value-overrides + namespace: nginx-ingress-controller + data: + values.yaml: |- + # paste chart values.yaml (indented) here and alter as required + ``` + +--8<-- "kubernetes-why-full-values-in-configmap.md" + +Then work your way through the values you pasted, and change any which are specific to your configuration. It may not be necessary to change anything. + +### HelmRelease + +Lastly, having set the scene above, we define the HelmRelease which will actually deploy nginx-ingress-controller into the cluster, with the config and extra ConfigMap we defined above. I save this in my flux repo as `nginx-ingress-controller/helmrelease-nginx-ingress-controller.yaml`: + +??? example "Example HelmRelease (click to expand)" + ```yaml + apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + metadata: + name: nginx-ingress-controller + namespace: nginx-ingress-controller + spec: + chart: + spec: + chart: nginx-ingress-controller + version: 9.x + sourceRef: + kind: HelmRepository + name: bitnami + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: nginx-ingress-controller + valuesFrom: + - kind: ConfigMap + name: nginx-ingress-controller-helm-chart-value-overrides + valuesKey: values.yaml # This is the default, but best to be explicit for clarity + ``` + +--8<-- "kubernetes-why-not-config-in-helmrelease.md" + +## Deploy nginx-ingress-controller + +Having committed the above to your flux repository, you should shortly see a nginx-ingress-controller kustomization, and in the `nginx-ingress-controller` namespace, a controller and a speaker pod for every node: + +```bash +demo@shredder:~$ kubectl get pods -n nginx-ingress-controller +NAME READY STATUS RESTARTS AGE +nginx-ingress-controller-5b849b4fbd-svbxk 1/1 Running 0 24h +nginx-ingress-controller-5b849b4fbd-xt7vc 1/1 Running 0 24h +nginx-ingress-controller-default-backend-867d86fb8f-t27j9 1/1 Running 0 24h +demo@shredder:~$ +``` + +### How do I know it's working? + +#### Test Service + +By default, the chart will deploy nginx ingress controller's service in [LoadBalancer](/kubernetes/loadbalancer/) mode. When you use kubectl to display the service (`kubectl get services -n nginx-ingress-controller`), you'll see the external IP displayed: + +```bash +demo@shredder:~$ kubectl get services -n nginx-ingress-controller +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +nginx-ingress-controller LoadBalancer 10.152.183.162 172.168.209.1 80:30756/TCP,443:30462/TCP 24h +nginx-ingress-controller-default-backend ClusterIP 10.152.183.200 80/TCP 24h +demo@shredder:~$ +``` + +!!! question "Where does the external IP come from?" + If you're using [k3s's load balancer](/kubernetes/loadbalancer/k3s/), the external IP will likely be the IP of the the nodes running k3s. If you're using [MetalLB](/kubernetes/loadbalancer/metallb/), the external IP should come from the list of addresses in the pool you allocated. + +Pointing your web browser to the external IP displayed should result in the default backend page (*or an nginx-branded 404*). Congratulations, you have external access to the ingress controller! ๐Ÿฅณ + +#### Test Ingress + +Still, you didn't deploy an ingress controller to look at 404 pages! If you used my [template repository](https://github.com/geek-cookbook/template-flux) to start off your [flux deployment strategy](/kubernetes/deployment/flux/), then the podinfo helm chart has already been deployed. By default, the podinfo configmap doesn't deploy an Ingress, but you can change this using the magic of GitOps... ๐Ÿช„ + +Edit your podinfo helmrelease configmap (`/podinfo/configmap-podinfo-helm-chart-value-overrides.yaml`), and change `ingress.enabled` to `true`, and set the host name to match your local domain name (*already configured using [External DNS](/kubernetes/external-dns/)*): + +``` yaml hl_lines="2 8" + ingress: + enabled: false + className: "" + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: podinfo.local +``` + +To: + +``` yaml hl_lines="2 8" + ingress: + enabled: false + className: "" + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: podinfo. +``` + +Commit your changes, wait for a reconciliation, and run `kubectl get ingress -n podinfo`. You should see an ingress created matching the host defined above, and the ADDRESS value should match the service address of the nginx-ingress-controller service. + +```bash +root@cn1:~# kubectl get ingress -A +NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE +podinfo podinfo podinfo.example.com 172.168.209.1 80, 443 91d +``` + +!!! question "Why is there no class value?" + You don't **have** to define an ingress class if you only have one **class** of ingress, since typically your ingress controller will assume the default class. When you run multiple ingress controllers (say, nginx **and** [traeifk](/kubernetes/ingress/traefik/), or multiple nginx instances with different access controls) then classes become more important. + +Now assuming your [DNS is correct](/kubernetes/external-dns/), you should be able to point your browser to the hostname you chose, and see the beautiful podinfo page! ๐Ÿฅณ๐Ÿฅณ + +#### Test SSL + +Ha, but we're not done yet! We have exposed a service via our load balancer, we've exposed a route to a service via an Ingress, but let's get rid of that nasty "insecure" message in the browser when using HTTPS... + +Since you setup [SSL certificates,](/kubernetes/ssl-certificates/) including [secret-replicator](/kubernetes/ssl-certificates/secret-replicator/), you should end up with a `letsencrypt-wildcard-cert` secret in every namespace, including `podinfo`. + +So once again, alter the podinfo ConfigMap to change this: + +```yaml hl_lines="2 4" + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local +``` + +To this: + +```yaml hl_lines="2 4" + tls: + - secretName: letsencrypt-wildcard-cert + hosts: + - podinfo. +``` + +Commit your changes, wait for the reconciliation, and the next time you point your browser at your ingress, you should get a beautiful, valid, officially-signed SSL certificate[^1]! ๐Ÿฅณ๐Ÿฅณ๐Ÿฅณ + +### Troubleshooting + +Are things not working as expected? Watch the nginx-ingress-controller's logs with ```kubectl logs -n nginx-ingress-controller -l app.kubernetes.io/name=nginx-ingress-controller -f```. + +--8<-- "recipe-footer.md" + +[^1]: The beauty of this design is that the same process will now work for any other application you deploy, without any additional manual effort for DNS or SSL setup! diff --git a/manuscript/kubernetes/ingress/traefik/dashboard.md b/manuscript/kubernetes/ingress/traefik/dashboard.md new file mode 100644 index 0000000..26bbdec --- /dev/null +++ b/manuscript/kubernetes/ingress/traefik/dashboard.md @@ -0,0 +1,16 @@ +# Traefik Dashboard + +One of the advantages [Traefik](/kubernetes/ingress/traefik/) offers over [Nginx](/kubernetes/ingress/nginx/), is a native dashboard available in the open-source version (*Nginx+, the commercially-supported version, also includes a dashboard*). + +![Traefik Dashboard Screenshot](../../../images/traefik-dashboard.png) + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] A [load-balancer](/kubernetes/load-balancer/) solution (*either [k3s](/kubernetes/load-balancer/k3s/) or [MetalLB](/kubernetes/load-balancer/metallb/)*) + * [x] [Traefik](/kubernetes/ingress/traefik/) deployed per-design + +--8<-- "recipe-footer.md" + +[^1]: The beauty of this design is that the same process will now work for any other application you deploy, without any additional manual effort for DNS or SSL setup! diff --git a/manuscript/kubernetes/ingress/traefik/index.md b/manuscript/kubernetes/ingress/traefik/index.md new file mode 100644 index 0000000..15fbb36 --- /dev/null +++ b/manuscript/kubernetes/ingress/traefik/index.md @@ -0,0 +1,239 @@ +# Traefik Ingress Controller + +Unlike grumpy ol' man [Nginx](/kubernetes/ingress/ngnix/) :older_man:, Traefik, a microservice-friendly reverse proxy, is relatively fresh in the "cloud-native" space, having been "born" :baby_bottle: [in the same year that Kubernetes was launched](https://techcrunch.com/2020/09/23/five-years-after-creating-traefik-application-proxy-open-source-project-hits-2b-downloads/). + +Traefik natively includes some features which Nginx lacks: + +* [x] Ability to use cross-namespace TLS certificates (*this may be accidental, but it totally works currently*) +* [x] An elegant "middleware" implementation allowing certain requests to pass through additional layers of authentication +* [x] A beautiful dashboard + +![Traefik Screenshot](../../../images/traefik.png) + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] A [load-balancer](/kubernetes/load-balancer/) solution (*either [k3s](/kubernetes/load-balancer/k3s/) or [MetalLB](/kubernetes/load-balancer/metallb/)*) + + Optional: + + * [x] [Cert-Manager](/kubernetes/cert-manager/) deployed to request/renew certificates + * [x] [External DNS](/kubernetes/external-dns/) configured to respond to ingresses, or with a wildcard DNS entry + +## Preparation + +### Namespace + +We need a namespace to deploy our HelmRelease and associated ConfigMaps into. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/namespaces/namespace-traefik.yaml`: + +??? example "Example NameSpace (click to expand)" + ```yaml + apiVersion: v1 + kind: Namespace + metadata: + name: traefik + ``` + +### HelmRepository + +Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. In this case, we're using the official [Traefik helm chart](https://github.com/traefik/traefik-helm-chart), so per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/helmrepositories/helmrepository-traefik.yaml`: + +??? example "Example HelmRepository (click to expand)" + ```yaml + apiVersion: source.toolkit.fluxcd.io/v1beta1 + kind: HelmRepository + metadata: + name: traefik + namespace: flux-system + spec: + interval: 15m + url: https://helm.traefik.io/traefik + ``` + +### Kustomization + +Now that the "global" elements of this deployment (*Namespace and HelmRepository*) have been defined, we do some "flux-ception", and go one layer deeper, adding another Kustomization, telling flux to deploy any YAMLs found in the repo at `/traefik`. I create this Kustomization in my flux repo at `flux-system/kustomizations/kustomization-traefik.yaml`: + +??? example "Example Kustomization (click to expand)" + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: traefik + namespace: flux-system + spec: + interval: 15m + path: ./traefik + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: traefik + namespace: traefik + + ``` + +### ConfigMap + +Now we're into the traefik-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/traefik/traefik-helm-chart/blob/master/traefik/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 tabs (*since they're "encapsulated" within the ConfigMap YAML*). I create this in my flux repo at `traefik/configmap-traefik-helm-chart-value-overrides.yaml`: + +??? example "Example ConfigMap (click to expand)" + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + creationTimestamp: null + name: traefik-helm-chart-value-overrides + namespace: traefik + data: + values.yaml: |- + # paste chart values.yaml (indented) here and alter as required> + ``` + +--8<-- "kubernetes-why-full-values-in-configmap.md" + +Then work your way through the values you pasted, and change any which are specific to your configuration. It may not be necessary to change anything. + +### HelmRelease + +Lastly, having set the scene above, we define the HelmRelease which will actually deploy traefik into the cluster, with the config and extra ConfigMap we defined above. I save this in my flux repo as `traefik/helmrelease-traefik.yaml`: + +??? example "Example HelmRelease (click to expand)" + ```yaml + apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + metadata: + name: traefik + namespace: traefik + spec: + chart: + spec: + chart: traefik + version: 9.x + sourceRef: + kind: HelmRepository + name: bitnami + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: traefik + valuesFrom: + - kind: ConfigMap + name: traefik-helm-chart-value-overrides + valuesKey: values.yaml # This is the default, but best to be explicit for clarity + ``` + +--8<-- "kubernetes-why-not-config-in-helmrelease.md" + +## Deploy traefik + +Having committed the above to your flux repository, you should shortly see a traefik kustomization, and in the `traefik` namespace, a controller and a speaker pod for every node: + +```bash +demo@shredder:~$ kubectl get pods -n traefik +NAME READY STATUS RESTARTS AGE +traefik-5b849b4fbd-svbxk 1/1 Running 0 24h +traefik-5b849b4fbd-xt7vc 1/1 Running 0 24h +demo@shredder:~$ +``` + +### How do I know it's working? + +#### Test Service + +By default, the chart will deploy Traefik in [LoadBalancer](/kubernetes/loadbalancer/) mode. When you use kubectl to display the service (`kubectl get services -n traefik`), you'll see the external IP displayed: + +```bash +demo@shredder:~$ kubectl get services -n traefik +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +traefik LoadBalancer 10.152.183.162 172.168.209.1 80:30756/TCP,443:30462/TCP 24h +demo@shredder:~$ +``` + +!!! question "Where does the external IP come from?" + If you're using [k3s's load balancer](/kubernetes/loadbalancer/k3s/), the external IP will likely be the IP of the the nodes running k3s. If you're using [MetalLB](/kubernetes/loadbalancer/metallb/), the external IP should come from the list of addresses in the pool you allocated. + +Pointing your web browser to the external IP displayed should result in a 404 page. Congratulations, you have external access to the Traefik ingress controller! ๐Ÿฅณ + +#### Test Ingress + +Still, you didn't deploy an ingress controller to look at 404 pages! If you used my [template repository](https://github.com/geek-cookbook/template-flux) to start off your [flux deployment strategy](/kubernetes/deployment/flux/), then the podinfo helm chart has already been deployed. By default, the podinfo configmap doesn't deploy an Ingress, but you can change this using the magic of GitOps... ๐Ÿช„ + +Edit your podinfo helmrelease configmap (`/podinfo/configmap-podinfo-helm-chart-value-overrides.yaml`), and change `ingress.enabled` to `true`, and set the host name to match your local domain name (*already configured using [External DNS](/kubernetes/external-dns/)*): + +``` yaml hl_lines="2 8" + ingress: + enabled: false + className: "" + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: podinfo.local +``` + +To: + +``` yaml hl_lines="2 8" + ingress: + enabled: false + className: "" + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: podinfo. +``` + +Commit your changes, wait for a reconciliation, and run `kubectl get ingress -n podinfo`. You should see an ingress created matching the host defined above, and the ADDRESS value should match the service address of the traefik service. + +```bash +root@cn1:~# kubectl get ingress -A +NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE +podinfo podinfo podinfo.example.com 172.168.209.1 80, 443 91d +``` + +!!! question "Why is there no class value?" + You don't **have** to define an ingress class if you only have one **class** of ingress, since typically your ingress controller will assume the default class. When you run multiple ingress controllers (say, nginx **and** [traeifk](/kubernetes/ingress/traefik/), or multiple nginx instances with different access controls) then classes become more important. + +Now assuming your [DNS is correct](/kubernetes/external-dns/), you should be able to point your browser to the hostname you chose, and see the beautiful podinfo page! ๐Ÿฅณ๐Ÿฅณ + +#### Test SSL + +Ha, but we're not done yet! We have exposed a service via our load balancer, we've exposed a route to a service via an Ingress, but let's get rid of that nasty "insecure" message in the browser when using HTTPS... + +Since you setup [SSL certificates,](/kubernetes/ssl-certificates/) including [secret-replicator](/kubernetes/ssl-certificates/secret-replicator/), you should end up with a `letsencrypt-wildcard-cert` secret in every namespace, including `podinfo`. + +So once again, alter the podinfo ConfigMap to change this: + +```yaml hl_lines="2 4" + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local +``` + +To this: + +```yaml hl_lines="2 4" + tls: + - secretName: letsencrypt-wildcard-cert + hosts: + - podinfo. +``` + +Commit your changes, wait for the reconciliation, and the next time you point your browser at your ingress, you should get a beautiful, valid, officially-signed SSL certificate[^1]! ๐Ÿฅณ๐Ÿฅณ๐Ÿฅณ + +### Troubleshooting + +Are things not working as expected? Watch the traefik's logs with ```kubectl logs -n traefik -l app.kubernetes.io/name=traefik -f```. + +--8<-- "recipe-footer.md" + +[^1]: The beauty of this design is that the same process will now work for any other application you deploy, without any additional manual effort for DNS or SSL setup! diff --git a/manuscript/kubernetes/loadbalancer.md b/manuscript/kubernetes/loadbalancer.md deleted file mode 100644 index a01a8b1..0000000 --- a/manuscript/kubernetes/loadbalancer.md +++ /dev/null @@ -1,332 +0,0 @@ -# Load Balancer - -One of the issues I encountered early on in migrating my Docker Swarm workloads to Kubernetes on GKE, was how to reliably permit inbound traffic into the cluster. - -There were several complications with the "traditional" mechanisms of providing a load-balanced ingress, not the least of which was cost. I also found that even if I paid my cloud provider (_Google_) for a load-balancer Kubernetes service, this service required a unique IP per exposed port, which was incompatible with my mining pool empire (_mining pools need to expose multiple ports on the same DNS name_). - -See further examination of the problem and possible solutions in the [Kubernetes design](/kubernetes/design/#the-challenges-of-external-access) page. - -This recipe details a simple design to permit the exposure of as many ports as you like, on a single public IP, to a cluster of Kubernetes nodes running as many pods/containers as you need, with services exposed via NodePort. - -![Kubernetes Design](/images/kubernetes-cluster-design.png) - -## Ingredients - -1. [Kubernetes cluster](/kubernetes/cluster/) -2. VM _outside_ of Kubernetes cluster, with a fixed IP address. Perhaps, on a [\$5/month Digital Ocean Droplet](https://www.digitalocean.com/?refcode=e33b78ad621b).. (_yes, another referral link. Mooar ๐Ÿท for me!_) -3. Geek-Fu required : ๐Ÿง๐Ÿง๐Ÿง (_complex - inline adjustments required_) - -## Preparation - -### Summary - -### Create LetsEncrypt certificate - -!!! warning -Safety first, folks. You wouldn't run a webhook exposed to the big bad ol' internet without first securing it with a valid SSL certificate? Of course not, I didn't think so! - -Use whatever method you prefer to generate (and later, renew) your LetsEncrypt cert. The example below uses the CertBot docker image for CloudFlare DNS validation, since that's what I've used elsewhere. - -We **could** run our webhook as a simple HTTP listener, but really, in a world where LetsEncrypt cacn assign you a wildcard certificate in under 30 seconds, thaht's unforgivable. Use the following **general** example to create a LetsEncrypt wildcard cert for your host: - -In my case, since I use CloudFlare, I create /etc/webhook/letsencrypt/cloudflare.ini: - -```ini -dns_cloudflare_email=davidy@funkypenguin.co.nz -dns_cloudflare_api_key=supersekritnevergonnatellyou -``` - -I request my cert by running: - -```bash -cd /etc/webhook/ -docker run -ti --rm -v "$(pwd)"/letsencrypt:/etc/letsencrypt certbot/dns-cloudflare --preferred-challenges dns certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini -d ''*.funkypenguin.co.nz' -``` - -!!! question -Why use a wildcard cert? So my enemies can't examine my certs to enumerate my various services and discover my weaknesses, of course! - -I add the following as a cron command to renew my certs every day: - -```bash -cd /etc/webhook && docker run -ti --rm -v "$(pwd)"/letsencrypt:/etc/letsencrypt certbot/dns-cloudflare renew --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini -``` - -Once you've confirmed you've got a valid LetsEncrypt certificate stored in `/etc/webhook/letsencrypt/live//fullcert.pem`, proceed to the next step.. - -### Install webhook - -We're going to use to run our webhook. On some distributions (_โค๏ธ ya, Debian!_), webhook and its associated systemd config can be installed by running `apt-get install webhook`. - -### Create webhook config - -We'll create a single webhook, by creating `/etc/webhook/hooks.json` as follows. Choose a nice secure random string for your MY_TOKEN value! - -```bash -mkdir /etc/webhook -export MY_TOKEN=ilovecheese -echo << EOF > /etc/webhook/hooks.json -[ - { - "id": "update-haproxy", - "execute-command": "/etc/webhook/update-haproxy.sh", - "command-working-directory": "/etc/webhook", - "pass-arguments-to-command": - [ - { - "source": "payload", - "name": "name" - }, - { - "source": "payload", - "name": "frontend-port" - }, - { - "source": "payload", - "name": "backend-port" - }, - { - "source": "payload", - "name": "dst-ip" - }, - { - "source": "payload", - "name": "action" - } - ], - "trigger-rule": - { - "match": - { - "type": "value", - "value": "$MY_TOKEN", - "parameter": - { - "source": "header", - "name": "X-Funkypenguin-Token" - } - } - } - } -] -EOF -``` - -!!! note -Note that to avoid any bozo from calling our we're matching on a token header in the request called `X-Funkypenguin-Token`. Webhook will **ignore** any request which doesn't include a matching token in the request header. - -### Update systemd for webhook - -!!! note -This section is particular to Debian Stretch and its webhook package. If you're using another OS for your VM, just ensure that you can start webhook with a config similar to the one illustrated below. - -Since we want to force webhook to run in secure mode (_no point having a token if it can be extracted from a simple packet capture!_) I ran `systemctl edit webhook`, and pasted in the following: - -```bash -[Service] -# Override the default (non-secure) behaviour of webhook by passing our certificate details and custom hooks.json location -ExecStart= -ExecStart=/usr/bin/webhook -hooks /etc/webhook/hooks.json -verbose -secure -cert /etc/webhook/letsencrypt/live/funkypenguin.co.nz/fullchain.pem -key /etc/webhook/letsencrypt/live/funkypenguin.co.nz/privkey.pem -``` - -Then I restarted webhook by running `systemctl enable webhook && systemctl restart webhook`. I watched the subsequent logs by running `journalctl -u webhook -f` - -### Create /etc/webhook/update-haproxy.sh - -When successfully authenticated with our top-secret token, our webhook will execute a local script, defined as follows (_yes, you should create this file_): - -```bash -#!/bin/bash - -NAME=$1 -FRONTEND_PORT=$2 -BACKEND_PORT=$3 -DST_IP=$4 -ACTION=$5 - -# Bail if we haven't received our expected parameters -if [[ "$#" -ne 5 ]] -then - echo "illegal number of parameters" - exit 2; -fi - -# Either add or remove a service based on $ACTION -case $ACTION in - add) - # Create the portion of haproxy config - cat << EOF > /etc/webhook/haproxy/$FRONTEND_PORT.inc -### >> Used to run $NAME:${FRONTEND_PORT} -frontend ${FRONTEND_PORT}_frontend - bind *:$FRONTEND_PORT - mode tcp - default_backend ${FRONTEND_PORT}_backend - -backend ${FRONTEND_PORT}_backend - mode tcp - balance roundrobin - stick-table type ip size 200k expire 30m - stick on src - server s1 $DST_IP:$BACKEND_PORT -### << Used to run $NAME:$FRONTEND_PORT -EOF - ;; - delete) - rm /etc/webhook/haproxy/$FRONTEND_PORT.inc - ;; - *) - echo "Invalid action $ACTION" - exit 2 -esac - -# Concatenate all the haproxy configs into a single file -cat /etc/webhook/haproxy/global /etc/webhook/haproxy/*.inc > /etc/webhook/haproxy/pre_validate.cfg - -# Validate the generated config -haproxy -f /etc/webhook/haproxy/pre_validate.cfg -c - -# If validation was successful, only _then_ copy it over to /etc/haproxy/haproxy.cfg, and reload -if [[ $? -gt 0 ]] -then - echo "HAProxy validation failed, not continuing" - exit 2 -else - # Remember what the original file looked like - m1=$(md5sum "/etc/haproxy/haproxy.cfg") - - # Overwrite the original file - cp /etc/webhook/haproxy/pre_validate.cfg /etc/haproxy/haproxy.cfg - - # Get MD5 of new file - m2=$(md5sum "/etc/haproxy/haproxy.cfg") - - # Only if file has changed, then we need to reload haproxy - if [ "$m1" != "$m2" ] ; then - echo "HAProxy config has changed, reloading" - systemctl reload haproxy - fi -fi -``` - -### Create /etc/webhook/haproxy/global - -Create `/etc/webhook/haproxy/global` and populate with something like the following. This will be the non-dynamically generated part of our HAProxy config: - -```ini -global - log /dev/log local0 - log /dev/log local1 notice - chroot /var/lib/haproxy - stats socket /run/haproxy/admin.sock mode 660 level admin - stats timeout 30s - user haproxy - group haproxy - daemon - - # Default SSL material locations - ca-base /etc/ssl/certs - crt-base /etc/ssl/private - - # Default ciphers to use on SSL-enabled listening sockets. - # For more information, see ciphers(1SSL). This list is from: - # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ - # An alternative list with additional directives can be obtained from - # https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy - ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS - ssl-default-bind-options no-sslv3 - -defaults - log global - mode tcp - option tcplog - option dontlognull - timeout connect 5000 - timeout client 5000000 - timeout server 5000000 - errorfile 400 /etc/haproxy/errors/400.http - errorfile 403 /etc/haproxy/errors/403.http - errorfile 408 /etc/haproxy/errors/408.http - errorfile 500 /etc/haproxy/errors/500.http - errorfile 502 /etc/haproxy/errors/502.http - errorfile 503 /etc/haproxy/errors/503.http - errorfile 504 /etc/haproxy/errors/504.http -``` - -## Serving - -### Take the bait! - -Whew! We now have all the components of our automated load-balancing solution in place. Browse to your VM's FQDN at , and you should see the text "_Hook rules were not satisfied_", with a valid SSL certificate (_You didn't send a token_). - -If you don't see the above, then check the following: - -1. Does the webhook verbose log (`journalctl -u webhook -f`) complain about invalid arguments or missing files? -2. Is port 9000 open to the internet on your VM? - -### Apply to pods - -You'll see me use this design in any Kubernetes-based recipe which requires container-specific ports, like UniFi. Here's an excerpt of the .yml which defines the UniFi controller: - -```yaml - -spec: - containers: - - image: lscr.io/linuxserver/unifi - name: controller - volumeMounts: - - name: controller-volumeclaim - mountPath: /config - - image: funkypenguin/poor-mans-k8s-lb - imagePullPolicy: Always - name: 8080-phone-home - env: - - name: REPEAT_INTERVAL - value: "600" - - name: FRONTEND_PORT - value: "8080" - - name: BACKEND_PORT - value: "30808" - - name: NAME - value: "unifi-adoption" - - name: WEBHOOK - value: "https://my-secret.url.wouldnt.ya.like.to.know:9000/hooks/update-haproxy" - - name: WEBHOOK_TOKEN - valueFrom: - secretKeyRef: - name: unifi-credentials - key: webhook_token.secret - -``` - -The takeaways here are: - -1. We add the funkypenguin/poor-mans-k8s-lb containier to any pod which has special port requirements, forcing the container to run on the same node as the other containers in the pod (_in this case, the UniFi controller_) -2. We use a Kubernetes secret for the webhook token, so that our .yml can be shared without exposing sensitive data - -Here's what the webhook logs look like when the above is added to the UniFi deployment: - -```bash -Feb 06 23:04:28 haproxy2 webhook[1433]: [webhook] 2019/02/06 23:04:28 Started POST /hooks/update-haproxy -Feb 06 23:04:28 haproxy2 webhook[1433]: [webhook] 2019/02/06 23:04:28 update-haproxy got matched -Feb 06 23:04:28 haproxy2 webhook[1433]: [webhook] 2019/02/06 23:04:28 update-haproxy hook triggered successfully -Feb 06 23:04:28 haproxy2 webhook[1433]: [webhook] 2019/02/06 23:04:28 Completed 200 OK in 2.123921ms -Feb 06 23:04:28 haproxy2 webhook[1433]: [webhook] 2019/02/06 23:04:28 executing /etc/webhook/update-haproxy.sh (/etc/webhook/update-haproxy.sh) with arguments ["/etc/webhook/update-haproxy.sh" "unifi-adoption" "8080" "30808" "35.244.91.178" "add"] and environment [] using /etc/webhook as cwd -Feb 06 23:04:28 haproxy2 webhook[1433]: [webhook] 2019/02/06 23:04:28 command output: Configuration file is valid - -``` - -## Move on.. - -Still with me? Good. Move on to setting up an ingress SSL terminating proxy with Traefik.. - -- [Start](/kubernetes/) - Why Kubernetes? -- [Design](/kubernetes/design/) - How does it fit together? -- [Cluster](/kubernetes/cluster/) - Setup a basic cluster -- Load Balancer (this page) - Setup inbound access -- [Snapshots](/kubernetes/snapshots/) - Automatically backup your persistent data -- [Helm](/kubernetes/helm/) - Uber-recipes from fellow geeks -- [Traefik](/kubernetes/traefik/) - Traefik Ingress via Helm - -[^1]: This is MVP of the load balancer solution. Any suggestions for improvements are welcome ๐Ÿ˜‰ - ---8<-- "recipe-footer.md" diff --git a/manuscript/kubernetes/loadbalancer/index.md b/manuscript/kubernetes/loadbalancer/index.md new file mode 100644 index 0000000..917c80b --- /dev/null +++ b/manuscript/kubernetes/loadbalancer/index.md @@ -0,0 +1,54 @@ +--- +description: Kubernetes Loadbalancer options +--- +# Loadbalancing Services + +## TL;DR + +1. I have multiple nodes (*you'd benefit from [MetalLB](/kubernetes/loadbalancer/metallb/)*) +2. I only need/want one node (*just go with [k3s svclb](/kubernetes/loadbalancer/k3s/)*) + +## But why? + +In Kubernetes, you don't access your containers / pods "*directly*", other than for debugging purposes. Rather, we have a construct called a "*service*", which is "in front of" one or more pods. + +Consider that this is how containers talk to each other under Docker Swarm: + +```mermaid +sequenceDiagram + wordpress->>+mysql: Are you there? + mysql->>+wordpress: Yes, ready to serve! + +``` + +But **this** is how containers (pods) talk to each other under Kubernetes: + +```mermaid +sequenceDiagram + wordpress->>+mysql-service: Are you there? + mysql-service->>+mysql-pods: Are you there? + mysql-pods->>+wordpress: Yes, ready to serve! +``` + +Why do we do this? + +1. A service isn't pinned to a particular node, it's a virtual IP which lives in the cluster and doesn't change as pods/nodes come and go. +2. Using a service "in front of" pods means that rolling updates / scaling of the pods can take place, but communication with the service is uninterrupted (*assuming correct configuration*). + +Here's some [more technical detail](https://kubernetes.io/docs/concepts/services-networking/service/) into how it works, but what you need to know is that when you want to interact with your containers in Kubernetes (*either from other containers or from outside, as a human*), you'll be talking to **services.** + +Also, services are not exposed outside of the cluster by default. There are 3 levels of "exposure" for your Kubernetes services, briefly: + +1. ClusterIP (*A service is only available to other services in the cluster - this is the default*) +2. NodePort (*A mostly-random high-port on the node running the pod is forwarded to the pod*)[^1] +3. LoadBalancer (*Some external help is required to forward a particular IP into the cluster, terminating on the node running your pod*) + +For anything vaguely useful, only `LoadBalancer` is a viable option. Even though `NodePort` may allow you to access services directly, who wants to remember that they need to access [Radarr][radarr] on `192.168.1.44:34542` and Homer on `192.168.1.44:34532`? Ugh. + +Assuming you only had a single Kubernetes node (*say, a small k3s deployment*), you'd want 100% of all incoming traffic to be directed to that node, and so you wouldn't **need** a loadbalancer. You'd just point some DNS entries / firewall NATs at the IP of the cluster, and be done. + +(*This is [the way k3s works](/kubernetes/loadbalancer/k3s/) by default, although it's still called a LoadBalancer*) + +--8<-- "recipe-footer.md" + +[^1]: It is possible to be prescriptive about which port is used for a Nodeport-exposed service, and this is occasionally [a valid deployment strategy](https://github.com/portainer/k8s/#using-nodeport-on-a-localremote-cluster), but you're usually limited to ports between 30000 and 32768. diff --git a/manuscript/kubernetes/loadbalancer/k3s.md b/manuscript/kubernetes/loadbalancer/k3s.md new file mode 100644 index 0000000..88ab4d0 --- /dev/null +++ b/manuscript/kubernetes/loadbalancer/k3s.md @@ -0,0 +1,27 @@ +--- +description: k3s' lightweight loadbalancer +--- + +# K3s Load Balancing + +If your cluster is using K3s, and you have only one node, then you could be adequately served by the [built in "klipper" loadbalbancer provided with k3s](https://rancher.com/docs/k3s/latest/en/networking/#service-load-balancer). + +If you want more than one node in your cluster[^1] (*either now or in future*), I'd steer you towards [MetalLB](/kubernetes/loadbalancer/metallb/) instead). + +## How does it work? + +When **not** deployed with `--disable servicelb`, every time you create a service of type `LoadBalancer`, k3s will deploy a daemonset (*a collection of pods which run on every host in the cluster*), listening on that given port on the host. So deploying a LoadBalancer service for nginx on ports 80 and 443, for example, would result in **every** cluster host listening on ports 80 and 443, and sending any incoming traffic to the ngnix service. + +## Well that's great, isn't it? + +Yes, to get you started. But consider the following limitations: + +1. This magic can only happen **once** per port. So you can't, for example, run two mysql instances on port 3306. +2. Because **every** host listens on the exposed ports, you can't run anything **else** on the hosts, which listens on those ports +3. Having multiple hosts listening on a given port still doesn't solve the problem of how to reliably direct traffic to all hosts, and how to gracefully fail over if one of the hosts fails. + +To tackle these issues, you need some more advanced network configuration, along with [MetalLB](/kubernetes/loadbalancer/metallb/). + +--8<-- "recipe-footer.md" + +[^1]: And seriously, if you're building a Kubernetes cluster, of **course** you'll want more than one host! diff --git a/manuscript/kubernetes/loadbalancer/metallb/index.md b/manuscript/kubernetes/loadbalancer/metallb/index.md new file mode 100644 index 0000000..785c3ea --- /dev/null +++ b/manuscript/kubernetes/loadbalancer/metallb/index.md @@ -0,0 +1,287 @@ +--- +description: MetalLB - Load-balancing for bare-metal Kubernetes clusters +--- +# MetalLB + +[MetalLB](https://metallb.universe.tf/) offers a network [load balancer](/kubernetes/load-balancer/) implementation which workes on "bare metal" (*as opposed to a cloud provider*). + +MetalLB does two jobs: + +1. Provides address allocation to services out of a pool of addresses which you define +2. Announces these addresses to devices outside the cluster, either using ARP/NDP (L2) or BGP (L3) + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] If k3s is used, then it was deployed with `--disable servicelb` + + Optional: + + * [ ] Network firewall/router supporting BGP (*ideal but not required*) + +## Preparation + +### Allocations + +You'll need to make some decisions re IP allocations. + +* What is the range of addresses you want to use for your LoadBalancer service pool? If you're using BGP, this can be a dedicated subnet (*i.e. a /24*), and if you're not, this should be a range of IPs in your existing network space for your cluster nodes (*i.e., 192.168.1.100-200*) +* If you're using BGP, pick two [private AS numbers](https://datatracker.ietf.org/doc/html/rfc6996#section-5) between 64512 and 65534 inclusively. + +### Namespace + +We need a namespace to deploy our HelmRelease and associated ConfigMaps into. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/namespaces/namespace-metallb.yaml`: + +??? example "Example NameSpace (click to expand)" + ```yaml + apiVersion: v1 + kind: Namespace + metadata: + name: metallb-system + ``` + +### HelmRepository + +Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. In this case, we're using the (*prolific*) [bitnami chart repository](https://github.com/bitnami/charts/tree/master/bitnami), so per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/helmrepositories/helmrepository-bitnami.yaml`: + +??? example "Example HelmRepository (click to expand)" + ```yaml + apiVersion: source.toolkit.fluxcd.io/v1beta1 + kind: HelmRepository + metadata: + name: bitnami + namespace: flux-system + spec: + interval: 15m + url: https://charts.bitnami.com/bitnami + ``` + +### Kustomization + +Now that the "global" elements of this deployment (*Namespace and HelmRepository*) have been defined, we do some "flux-ception", and go one layer deeper, adding another Kustomization, telling flux to deploy any YAMLs found in the repo at `/metallb-system`. I create this Kustomization in my flux repo at `flux-system/kustomizations/kustomization-metallb.yaml`: + +??? example "Example Kustomization (click to expand)" + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: metallb--metallb-system + namespace: flux-system + spec: + interval: 15m + path: ./metallb-system + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: metallb-controller + namespace: metallb-system + + ``` + +!!! question "What's with that screwy name?" + > Why'd you call the kustomization `metallb--metallb-system`? + + I keep my file and object names as consistent as possible. In most cases, the helm chart is named the same as the namespace, but in some cases, by upstream chart or historical convention, the namespace is different to the chart name. MetalLB is one of these - the helmrelease/chart name is `metallb`, but the typical namespace it's deployed in is `metallb-system`. (*Appending `-system` seems to be a convention used in some cases for applications which support the entire cluster*). To avoid confusion when I list all kustomizations with `kubectl get kustomization -A`, I give these oddballs a name which identifies both the helmrelease and the namespace. + +### ConfigMap (for HelmRelease) + +Now we're into the metallb-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/bitnami/charts/blob/master/bitnami/metallb/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 tabs (*since they're "encapsulated" within the ConfigMap YAML*). I create this in my flux repo at `metallb/configmap-metallb-helm-chart-value-overrides.yaml`: + +??? example "Example ConfigMap (click to expand)" + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + creationTimestamp: null + name: metallb-helm-chart-value-overrides + namespace: metallb-system + data: + values.yaml: |- + ## @section Global parameters + ## Global Docker image parameters + ## Please, note that this will override the image parameters, including dependencies, configured to use the global value + ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass + + ## @param global.imageRegistry Global Docker image registry + ## @param global.imagePullSecrets Global Docker registry secret names as an array + ## + global: + imageRegistry: "" + ## E.g. + ## imagePullSecrets: + ## - myRegistryKeySecretName + + prometheus: + ## Prometheus Operator service monitors + ## + serviceMonitor: + ## @param speaker.prometheus.serviceMonitor.enabled Enable support for Prometheus Operator + ## + enabled: false + ## @param speaker.prometheus.serviceMonitor.jobLabel Job label for scrape target + ## + jobLabel: "app.kubernetes.io/name" + ## @param speaker.prometheus.serviceMonitor.interval Scrape interval. If not set, the Prometheus default scrape interval is used + ## + interval: "" + ## @param speaker.prometheus.serviceMonitor.metricRelabelings Specify additional relabeling of metrics + ## + metricRelabelings: [] + ## @param speaker.prometheus.serviceMonitor.relabelings Specify general relabeling + ## + relabelings: [] + ``` + +--8<-- "kubernetes-why-full-values-in-configmap.md" + +Then work your way through the values you pasted, and change any which are specific to your configuration. I'd recommend changing the following: + +* `existingConfigMap: metallb-config`: I prefer to set my MetalLB config independently of the chart config, so I set this to `metallb-config`, which I then define below. +* `commonAnnotations`: Anticipating the future use of Reloader to bounce applications when their config changes, I add the `configmap.reloader.stakater.com/reload: "metallb-config"` annotation to all deployed objects, which will instruct Reloader to bounce the daemonset if the ConfigMap changes. + +### ConfigMap (for MetalLB) + +Finally, it's time to actually configure MetalLB! As discussed above, I prefer to configure the helm chart to apply config from an existing ConfigMap, so that I isolate my application configuration from my chart configuration (*and make tracking changes easier*). In my setup, I'm using BGP against a pair of pfsense[^1] firewalls, so per the [official docs](https://metallb.universe.tf/configuration/), I use the following configuration, saved in my flux repo as `flux-system/configmap-metallb-config.yaml`: + +??? example "Example ConfigMap (click to expand)" + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + namespace: metallb-system + name: metallb-config + data: + config: | + peers: + - peer-address: 192.168.33.2 + peer-asn: 64501 + my-asn: 64500 + - peer-address: 192.168.33.4 + peer-asn: 64501 + my-asn: 64500 + + address-pools: + - name: default + protocol: bgp + avoid-buggy-ips: true + addresses: + - 192.168.32.0/24 + ``` + +!!! question "What does that mean?" + In the config referenced above, I define one pool of addresses (`192.168.32.0/24`) which MetalLB is responsible for allocating to my services. MetalLB will then "advertise" these addresses to my firewalls (`192.168.33.2` and `192.168.33.4`), in an eBGP relationship where the firewalls' ASN is `64501` and MetalLB's ASN is `64500`. Provided I'm using my firewalls as my default gateway (*a VIP*), when I try to access one of the `192.168.32.x` IPs from any subnet connected to my firewalls, the traffic will be routed from the firewall to one of the cluster nodes running the pods selected by that service. + +!!! note "Dude, that's too complicated!" + There's an easier way, with some limitations. If you configure MetalLB in L2 mode, all you need to do is to define a range of IPs within your existing node subnet, like this: + + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + namespace: metallb-system + name: metallb-config + data: + config: | + address-pools: + - name: default + protocol: layer2 + addresses: + - 192.168.1.240-192.168.1.250 + ``` + +### HelmRelease + +Lastly, having set the scene above, we define the HelmRelease which will actually deploy MetalLB into the cluster, with the config and extra ConfigMap we defined above. I save this in my flux repo as `metallb/helmrelease-metallb.yaml`: + +??? example "Example HelmRelease (click to expand)" + ```yaml + apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + metadata: + name: metallb + namespace: metallb-system + spec: + chart: + spec: + chart: metallb + version: 2.x + sourceRef: + kind: HelmRepository + name: bitnami + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: metallb + valuesFrom: + - kind: ConfigMap + name: metallb-helm-chart-value-overrides + valuesKey: values.yaml # This is the default, but best to be explicit for clarity + ``` + +--8<-- "kubernetes-why-not-config-in-helmrelease.md" + +## Deploy MetalLB + +Having committed the above to your flux repository, you should shortly see a metallb kustomization, and in the `metallb-system` namespace, a controller and a speaker pod for every node: + +```bash +root@cn1:~# kubectl get pods -n metallb-system -o wide +NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES +metallb-controller-779d8686f6-mgb4s 1/1 Running 0 21d 10.0.6.19 wn3 +metallb-speaker-2qh2d 1/1 Running 0 21d 192.168.33.24 wn4 +metallb-speaker-7rz24 1/1 Running 0 21d 192.168.33.22 wn2 +metallb-speaker-gbm5r 1/1 Running 0 21d 192.168.33.23 wn3 +metallb-speaker-gzgd2 1/1 Running 0 21d 192.168.33.21 wn1 +metallb-speaker-nz6kd 1/1 Running 0 21d 192.168.33.25 wn5 +root@cn1:~# +``` + +!!! question "Why are there no speakers on my masters?" + + In some cluster setups, master nodes are "tainted" to prevent workloads running on them and consuming capacity required for "mastering". If this is the case for you, but you actually **do** want to run some externally-exposed workloads on your masters, you'll need to update the `speaker.tolerations` value for the HelmRelease config to include: + + ```yaml + - key: "node-role.kubernetes.io/master" + effect: "NoSchedule" + ``` + +### How do I know it's working? + +If you used my [template repository](https://github.com/geek-cookbook/template-flux) to start off your [flux deployment strategy](/kubernetes/deployment/flux/), then the podinfo helm chart has already been deployed. By default, the podinfo service is in `ClusterIP` mode, so it's only reachable within the cluster. + +Edit your podinfo helmrelease configmap (`/podinfo/configmap-podinfo-helm-chart-value-overrides.yaml`), and change this: + +``` yaml hl_lines="6" + + # Kubernetes Service settings + service: + enabled: true + annotations: {} + type: ClusterIP + +``` + +To: + +``` yaml hl_lines="6" + + # Kubernetes Service settings + service: + enabled: true + annotations: {} + type: LoadBalancer + +``` + +Commit your changes, wait for a reconciliation, and run `kubectl get services -n podinfo`. All going well, you should see that the service now has an IP assigned from the pool you chose for MetalLB! + +--8<-- "recipe-footer.md" + +[^1]: I've documented an example re [how to configure BGP between MetalLB and pfsense](/kubernetes/loadbalancer/metallb/pfsense/). diff --git a/manuscript/kubernetes/loadbalancer/metallb/pfsense.md b/manuscript/kubernetes/loadbalancer/metallb/pfsense.md new file mode 100644 index 0000000..eec4917 --- /dev/null +++ b/manuscript/kubernetes/loadbalancer/metallb/pfsense.md @@ -0,0 +1,79 @@ +--- +description: Using MetalLB with pfsense and BGP +--- +# MetalLB with pfSense + +This is an addendum to the MetalLB recipe, explaining how to configure MetalLB to perform BGP peering with a pfSense firewall. + +!!! summary "Ingredients" + + * [X] A [Kubernetes cluster](/kubernetes/cluster/) + * [X] [MetalLB](/kubernetes/loadbalancer/metallb/) deployed + * [X] One or more pfSense firewalls + * [X] Basic familiarity with pfSense operation + +## Preparation + +Complete the [MetalLB](/kubernetes/loadbalancer/metallb/) installation, including the process of identifying ASNs for both your pfSense firewall and your MetalLB configuration. + +Install the FRR package in pfsense, under **System -> Package Manager -> Available Packages** + +### Configure FRR Global/Zebra + +Under **Services -> FRR Global/Zebra**, enable FRR, set your router ID (*this will be your router's peer IP in MetalLB config*), and set a master password (*because apparently you have to, even though we don't use it*): + +![Enabling BGP routing](../../../../../../images/metallb-pfsense-00.png) + +### Configure FRR BGP + +Under **Services -> FRR BGP**, globally enable BGP, and set your local AS and router ID: + +![Enabling BGP routing](../../../../../../images/metallb-pfsense-01.png) + +### Configure FRR BGP Advanced + +Use the tabs at the top of the FRR configuration to navigate to "**Advanced**"... + +![Enabling BGP routing](../../../../../../images/metallb-pfsense-02.png) + +... and scroll down to **eBGP**. Check the checkbox titled "**Disable eBGP Require Policy**: + +![Enabling BGP routing](../../../../../../images/metallb-pfsense-03.png) + +!!! question "Isn't disabling a policy check a Bad Idea(tm)?" + If you're an ISP, sure. If you're only using eBGP to share routes between MetalLB and pfsense, then applying policy is an unnecessary complication.[^1] + +### Configure BGP neighbors + +#### Peer Group + +It's useful to bundle our configurations within a "peer group" (*a collection of settings which applies to all neighbors who are members of that group*), so start off by creating a neighbor with the name of "**metallb**" (*this will become a peer-group*). Set the remote AS (*because you have to*), and leave the rest of the settings as default. + +!!! question "Why bother with a peer group?" + > If we're not changing any settings, why are we bothering with a peer group? + + We may later want to change settings which affect all the peers, such as prefix lists, route-maps, etc. We're doing this now for the benefit of our future selves ๐Ÿ’ช + +#### Individual Neighbors + +Now add each node running MetalLB, as a BGP neighbor. Pick the peer-group you created above, and configure each neighbor's ASN: + +![Enabling BGP routing](../../../../../../images/metallb-pfsense-04.png) + +## Serving + +Once you've added your neighbors, you should be able to use the FRR tab navigation (*it's weird, I know!*) to get to Status / BGP, and identify your neighbors, and all the routes learned from them. In the screenshot below, you'll note that **most** routes are learned from all the neighbors - that'll be service backed by a daemonset, running on all nodes. The `192.168.32.3/32` route, however, is only received from `192.168.33.22`, meaning only one node is running the pods backing this service, so only those pods are advertising the route to pfSense: + +![BGP route-](../../../../../../images/metallb-pfsense-05.png) + +### Troubleshooting + +If you're not receiving any routes from MetalLB, or if the neighbors aren't in an established state, here are a few suggestions for troubleshooting: + +1. Confirm on PFSense that the BGP connections (*TCP port 179*) are not being blocked by the firewall +2. Examine the metallb speaker logs in the cluster, by running `kubectl logs -n metallb-system -l app.kubernetes.io/name=metallb` +3. SSH to the pfsense, start a shell and launch the FFR shell by running `vtysh`. Now you're in a cisco-like console where commands like `show ip bgp sum` and `show ip bgp neighbors received-routes` will show you interesting debugging things. + +--8<-- "recipe-footer.md" + +[^1]: If you decide to deploy some policy with route-maps, prefix-lists, etc, it's all found under **Services -> FRR Global/Zebra** ๐Ÿฆ“ diff --git a/manuscript/kubernetes/monitoring/index.md b/manuscript/kubernetes/monitoring/index.md new file mode 100644 index 0000000..26b4f23 --- /dev/null +++ b/manuscript/kubernetes/monitoring/index.md @@ -0,0 +1,314 @@ +# Miniflux + +Miniflux is a lightweight RSS reader, developed by [Frรฉdรฉric Guillot](https://github.com/fguillot). (_Who also happens to be the developer of the favorite Open Source Kanban app, [Kanboard](/recipes/kanboard/)_) + +![Miniflux Screenshot](/images/miniflux.png) + +I've [reviewed Miniflux in detail on my blog](https://www.funkypenguin.co.nz/review/miniflux-lightweight-self-hosted-rss-reader/), but features (among many) that I appreciate: + +* Compatible with the Fever API, read your feeds through existing mobile and desktop clients (_This is the killer feature for me. I hardly ever read RSS on my desktop, I typically read on my iPhone or iPad, using [Fiery Feeds](http://cocoacake.net/apps/fiery/) or my new squeeze, [Unread](https://www.goldenhillsoftware.com/unread/)_) +* Send your bookmarks to Pinboard, Wallabag, Shaarli or Instapaper (_I use this to automatically pin my bookmarks for collection on my [blog](https://www.funkypenguin.co.nz/)_) +* Feeds can be configured to download a "full" version of the content (_rather than an excerpt_) +* Use the Bookmarklet to subscribe to a website directly from any browsers + +!!! abstract "2.0+ is a bit different" + [Some things changed](https://docs.miniflux.net/en/latest/migration.html) when Miniflux 2.0 was released. For one thing, the only supported database is now postgresql (_no more SQLite_). External themes are gone, as is PHP (_in favor of golang_). It's been a controversial change, but I'm keen on minimal and single-purpose, so I'm still very happy with the direction of development. The developer has laid out his [opinions](https://docs.miniflux.net/en/latest/opinionated.html) re the decisions he's made in the course of development. + +## Ingredients + +1. A [Kubernetes Cluster](/kubernetes/design/) including [Traefik Ingress](/kubernetes/traefik/) +2. A DNS name for your miniflux instance (*miniflux.example.com*, below) pointing to your [load balancer](/kubernetes/loadbalancer/), fronting your Traefik ingress + +## Preparation + +### Prepare traefik for namespace + +When you deployed [Traefik via the helm chart](/kubernetes/traefik/), you would have customized ```values.yml``` for your deployment. In ```values.yml``` is a list of namespaces which Traefik is permitted to access. Update ```values.yml``` to include the *miniflux* namespace, as illustrated below: + +```yaml + +kubernetes: + namespaces: + - kube-system + - nextcloud + - kanboard + - miniflux + +``` + +If you've updated ```values.yml```, upgrade your traefik deployment via helm, by running ```helm upgrade --values values.yml traefik stable/traefik --recreate-pods``` + +### Create data locations + +Although we could simply bind-mount local volumes to a local Kubuernetes cluster, since we're targetting a cloud-based Kubernetes deployment, we only need a local path to store the YAML files which define the various aspects of our Kubernetes deployment. + +```bash +mkdir /var/data/config/miniflux +``` + +### Create namespace + +We use Kubernetes namespaces for service discovery and isolation between our stacks, so create a namespace for the miniflux stack with the following .yml: + +```bash +cat < /var/data/config/miniflux/namespace.yml +apiVersion: v1 +kind: Namespace +metadata: + name: miniflux +EOF +kubectl create -f /var/data/config/miniflux/namespace.yaml +``` + +### Create persistent volume claim + +Persistent volume claims are a streamlined way to create a persistent volume and assign it to a container in a pod. Create a claim for the miniflux postgres database: + +```bash +cat < /var/data/config/miniflux/db-persistent-volumeclaim.yml +kkind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: miniflux-db + namespace: miniflux + annotations: + backup.kubernetes.io/deltas: P1D P7D +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +EOF +kubectl create -f /var/data/config/miniflux/db-persistent-volumeclaim.yaml +``` + +!!! question "What's that annotation about?" + The annotation is used by [k8s-snapshots](/kubernetes/snapshots/) to create daily incremental snapshots of your persistent volumes. In this case, our volume is snapshotted daily, and copies kept for 7 days. + +### Create secrets + +It's not always desirable to have sensitive data stored in your .yml files. Maybe you want to check your config into a git repository, or share it. Using Kubernetes Secrets means that you can create "secrets", and use these in your deployments by name, without exposing their contents. Run the following, replacing ```imtoosexyformyadminpassword```, and the ```mydbpass``` value in both postgress-password.secret **and** database-url.secret: + +```bash +echo -n "imtoosexyformyadminpassword" > admin-password.secret +echo -n "mydbpass" > postgres-password.secret +echo -n "postgres://miniflux:mydbpass@db/miniflux?sslmode=disable" > database-url.secret + +kubectl create secret -n mqtt generic miniflux-credentials \ + --from-file=admin-password.secret \ + --from-file=database-url.secret \ + --from-file=database-url.secret +``` + +!!! tip "Why use ```echo -n```?" + Because. See [my blog post here](https://www.funkypenguin.co.nz/blog/beware-the-hidden-newlines-in-kubernetes-secrets/) for the pain of hunting invisible newlines, that's why! + +## Serving + +Now that we have a [namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/), a [persistent volume](https://kubernetes.io/docs/concepts/storage/persistent-volumes/), and a [configmap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/), we can create [deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), [services](https://kubernetes.io/docs/concepts/services-networking/service/), and an [ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) for the miniflux [pods](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/). + +### Create db deployment + +Deployments tell Kubernetes about the desired state of the pod (*which it will then attempt to maintain*). Create the db deployment by excecuting the following. Note that the deployment refers to the secrets created above. + +--8<-- "premix-cta.md" + +```bash +cat < /var/data/miniflux/db-deployment.yml +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + namespace: miniflux + name: db + labels: + app: db +spec: + replicas: 1 + selector: + matchLabels: + app: db + template: + metadata: + labels: + app: db + spec: + containers: + - image: postgres:11 + name: db + volumeMounts: + - name: miniflux-db + mountPath: /var/lib/postgresql/data + env: + - name: POSTGRES_USER + value: "miniflux" + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: miniflux-credentials + key: postgres-password.secret + volumes: + - name: miniflux-db + persistentVolumeClaim: + claimName: miniflux-db +``` + +### Create app deployment + +Create the app deployment by excecuting the following. Again, note that the deployment refers to the secrets created above. + +```bash +cat < /var/data/miniflux/app-deployment.yml +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + namespace: miniflux + name: app + labels: + app: app +spec: + replicas: 1 + selector: + matchLabels: + app: app + template: + metadata: + labels: + app: app + spec: + containers: + - image: miniflux/miniflux + name: app + env: + # This is necessary for the miniflux to update the db schema, even on an empty DB + - name: CREATE_ADMIN + value: "1" + - name: RUN_MIGRATIONS + value: "1" + - name: ADMIN_USERNAME + value: "admin" + - name: ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: miniflux-credentials + key: admin-password.secret + - name: DATABASE_URL + valueFrom: + secretKeyRef: + name: miniflux-credentials + key: database-url.secret +EOF +kubectl create -f /var/data/miniflux/deployment.yml +``` + +### Check pods + +Check that your deployment is running, with ```kubectl get pods -n miniflux```. After a minute or so, you should see 2 "Running" pods, as illustrated below: + +```bash +[funkypenguin:~] % kubectl get pods -n miniflux +NAME READY STATUS RESTARTS AGE +app-667c667b75-5jjm9 1/1 Running 0 4d +db-fcd47b88f-9vvqt 1/1 Running 0 4d +[funkypenguin:~] % +``` + +### Create db service + +The db service resource "advertises" the availability of PostgreSQL's port (TCP 5432) in your pod, to the rest of the cluster (*constrained within your namespace*). It seems a little like overkill coming from the Docker Swarm's automated "service discovery" model, but the Kubernetes design allows for load balancing, rolling upgrades, and health checks of individual pods, without impacting the rest of the cluster elements. + +```bash +cat < /var/data/miniflux/db-service.yml +kind: Service +apiVersion: v1 +metadata: + name: db + namespace: miniflux +spec: + selector: + app: db + ports: + - protocol: TCP + port: 5432 + clusterIP: None +EOF +kubectl create -f /var/data/miniflux/service.yml +``` + +### Create app service + +The app service resource "advertises" the availability of miniflux's HTTP listener port (TCP 8080) in your pod. This is the service which will be referred to by the ingress (below), so that Traefik can route incoming traffic to the miniflux app. + +```bash +cat < /var/data/miniflux/app-service.yml +kind: Service +apiVersion: v1 +metadata: + name: app + namespace: miniflux +spec: + selector: + app: app + ports: + - protocol: TCP + port: 8080 + clusterIP: None +EOF +kubectl create -f /var/data/miniflux/app-service.yml +``` + +### Check services + +Check that your services are deployed, with ```kubectl get services -n miniflux```. You should see something like this: + +```bash +[funkypenguin:~] % kubectl get services -n miniflux +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +app ClusterIP None 8080/TCP 55d +db ClusterIP None 5432/TCP 55d +[funkypenguin:~] % +``` + +### Create ingress + +The ingress resource tells Traefik what to forward inbound requests for *miniflux.example.com* to your service (defined above), which in turn passes the request to the "app" pod. Adjust the config below for your domain. + +```bash +cat < /var/data/miniflux/ingress.yml +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: app + namespace: miniflux + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: miniflux.example.com + http: + paths: + - backend: + serviceName: app + servicePort: 8080 +EOF +kubectl create -f /var/data/miniflux/ingress.yml +``` + +Check that your service is deployed, with ```kubectl get ingress -n miniflux```. You should see something like this: + +```bash +[funkypenguin:~] 130 % kubectl get ingress -n miniflux +NAME HOSTS ADDRESS PORTS AGE +app miniflux.funkypenguin.co.nz 80 55d +[funkypenguin:~] % +``` + +### Access Miniflux + +At this point, you should be able to access your instance on your chosen DNS name (*i.e. *) + +### Troubleshooting + +To look at the Miniflux pod's logs, run ```kubectl logs -n miniflux -f```. For further troubleshooting hints, see [Troubleshooting](/reference/kubernetes/troubleshooting/). + +--8<-- "recipe-footer.md" diff --git a/manuscript/kubernetes/persistence/index.md b/manuscript/kubernetes/persistence/index.md new file mode 100644 index 0000000..8e7692e --- /dev/null +++ b/manuscript/kubernetes/persistence/index.md @@ -0,0 +1,11 @@ +# Persistence + +So we've gone as far as we can with our cluster, without any form of persistence. As soon as we want to retain data, be it a database, metrics history, or objects, we need one or more ways to persist data within the cluster. + +Here are some popular options, ranked in difficulty/complexity, in vaguely ascending order: + +* [Local Path Provisioner](/kubernetes/persistence/local-path-provisioner/) (on k3s) +* [TopoLVM](/kubernetes/persistence/topolvm/) +* OpenEBS (coming soon) +* Rook Ceph (coming soon) +* Longhorn (coming soon) diff --git a/manuscript/kubernetes/persistence/local-path-provisioner.md b/manuscript/kubernetes/persistence/local-path-provisioner.md new file mode 100644 index 0000000..1f01705 --- /dev/null +++ b/manuscript/kubernetes/persistence/local-path-provisioner.md @@ -0,0 +1,45 @@ +# Local Path Provisioner + +[k3s](/kubernetes/cluster/k3s/) installs itself with "Local Path Provisioner", a simple controller whose job it is to create local volumes on each k3s node. If you only have one node, or you just want something simple to start learning with, then `local-path` is ideal, since it requires no further setup. + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) deployed with [k3s](/kubernetes/cluster/k3s/) + +Here's how you know you've got the StorageClass: + +```bash +root@shredder:~# kubectl get sc +NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE +local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 60m +root@shredder:~# +``` + +## Preparation + +### Basics + +A few things you should know: + +1. This is not **network storage**. The volume you create will forever be found to the k3s node its pod is executed on. If you later take that node down for maintenance, the pods will not be able to start on other nodes, because they won't find their volumes. +2. The default path for the volumes is `/opt/local-path-provisioner`, although this can be changed by [editing a ConfigMap](https://github.com/rancher/local-path-provisioner/blob/master/README.md#customize-the-configmap). Make sure you have enough disk space! [^1] +3. There's no support for resizing a volume. If you create a volume and later work out that it's too small, you'll have to destroy it and recreate it. (*More sophisticated provisioners like [rook-ceph](/kubernetes/persistence/rook-ceph/) and [topolvm](/kubernetes/persistence/topolvm/) allow for dynamic resizing of volumes*) + +### When to use it + +* When you don't care much about your storage. This seems backwards, but sometimes you need large amounts of storage for relatively ephemeral reasons, like batch processing, or log aggregation. You may decide the convenience of using Local Path Provisioner for quick, hard-drive-speed storage outweighs the minor hassle of loosing your metrics data if you were to have a node outage. +* When [TopoLVM](/kubernetes/persistence/topolvm/) is not a viable option, and you'd rather use available disk space on your existing, formatted filesystems + +### When not to use it + +* When you have any form of redundancy requirement on your persisted data. +* When you're not using k3s. +* You may one day want to resize your volumes. + +### Summary + +In summary, Local Path Provisioner is fine if you have very specifically sized workloads and you don't care about node redundancy. + +--8<-- "recipe-footer.md" + +[^1]: [TopoLVM](/kubernetes/persistence/topolvm/) also creates per-node volumes which aren't "portable" between nodes, but because it relies on LVM, it is "capacity-aware", and is able to distribute storage among multiple nodes based on available capacity. diff --git a/manuscript/kubernetes/persistence/longhorn.md b/manuscript/kubernetes/persistence/longhorn.md new file mode 100644 index 0000000..36f0cf3 --- /dev/null +++ b/manuscript/kubernetes/persistence/longhorn.md @@ -0,0 +1,3 @@ +# Longhorn + +Coming soon! diff --git a/manuscript/kubernetes/persistence/openebs.md b/manuscript/kubernetes/persistence/openebs.md new file mode 100644 index 0000000..7c911fd --- /dev/null +++ b/manuscript/kubernetes/persistence/openebs.md @@ -0,0 +1,3 @@ +# Open EBS + +Coming soon! diff --git a/manuscript/kubernetes/persistence/rook-ceph.md b/manuscript/kubernetes/persistence/rook-ceph.md new file mode 100644 index 0000000..f0a3812 --- /dev/null +++ b/manuscript/kubernetes/persistence/rook-ceph.md @@ -0,0 +1,3 @@ +# Rook Ceph + +Coming soon! diff --git a/manuscript/kubernetes/persistence/topolvm.md b/manuscript/kubernetes/persistence/topolvm.md new file mode 100644 index 0000000..815435b --- /dev/null +++ b/manuscript/kubernetes/persistence/topolvm.md @@ -0,0 +1,279 @@ +# TopoLVM + +TopoLVM is **like** [Local Path Provisioner](/kubernetes/persistence/local-path-provisioner/), in that it deals with local volumes specific to each Kubernetes node, but it offers more flexibility, and is more suited for a production deployment. + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] A dedicated disk, or free LVM volume space, for provisioning volumes + +Additional benefits offered by TopoLVM are: + +* Volumes can by dynamically expanded +* The scheduler is capacity-aware, and can schedule pods to nodes with enough capacity for the pods' storage requirements +* Multiple storageclasses are supported, so you could, for example, create a storageclass for HDD-backed volumes, and another for SSD-backed volumes + +## Preparation + +### Volume Group + +Finally you get to do something on your nodes without YAML or git, like a pre-GitOps, bare-metal-cavemonkey! :monkey_face: + +On each node, you'll need an LVM Volume Group (VG) for TopoLVM to consume. The most straightforward to to arrange this is to dedicate a disk to TopoLVM, and create a dedicated PV and VG for it. + +In brief, assuming `/dev/sdb` is the disk (*and it's unused*), you'd do the following to create a VG called `VG-topolvm`: + +```bash +pvcreate /dev/sdb +vgcreate VG-topolvm /dev/sdb +``` + +!!! tip + If you don't have a dedicated disk, you could try installing your OS using LVM partitioning, and leave some space unused, for TopoLVM to consume. Run `vgs` from an installed node to work out what the VG name is that the OS installer chose. + +### Namespace + +We need a namespace to deploy our HelmRelease and associated ConfigMaps into. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/namespaces/namespace-topolvm.yaml`: + +??? example "Example NameSpace (click to expand)" + ```yaml + apiVersion: v1 + kind: Namespace + metadata: + name: topolvm-system + ``` + +### HelmRepository + +Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. In this case, we're using the official [TopoLVM helm chart](https://github.com/topolvm/topolvm/tree/main/charts/topolvm), so per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/helmrepositories/helmrepository-topolvm.yaml`: + +??? example "Example HelmRepository (click to expand)" + ```yaml + apiVersion: source.toolkit.fluxcd.io/v1beta1 + kind: HelmRepository + metadata: + name: topolvm + namespace: flux-system + spec: + interval: 15m + url: https://topolvm.github.io/topolvm + ``` + +### Kustomization + +Now that the "global" elements of this deployment (*Namespace and HelmRepository*) have been defined, we do some "flux-ception", and go one layer deeper, adding another Kustomization, telling flux to deploy any YAMLs found in the repo at `/topolvm`. I create this Kustomization in my flux repo at `flux-system/kustomizations/kustomization-topolvm.yaml`: + +??? example "Example Kustomization (click to expand)" + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: topolvm--topolvm-system + namespace: flux-system + spec: + interval: 15m + path: ./topolvm-system + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: topolvm-controller + namespace: topolvm-system + - apiVersion: apps/v1 + kind: DaemonSet + name: topolvm-lvmd-0 + namespace: topolvm-system + - apiVersion: apps/v1 + kind: DaemonSet + name: topolvm-node + namespace: topolvm-system + - apiVersion: apps/v1 + kind: DaemonSet + name: topolvm-scheduler + namespace: topolvm-system + ``` + +!!! question "What's with that screwy name?" + > Why'd you call the kustomization `topolvm--topolvm-system`? + + I keep my file and object names as consistent as possible. In most cases, the helm chart is named the same as the namespace, but in some cases, by upstream chart or historical convention, the namespace is different to the chart name. TopoLVM is one of these - the helmrelease/chart name is `topolvm`, but the typical namespace it's deployed in is `topolvm-system`. (*Appending `-system` seems to be a convention used in some cases for applications which support the entire cluster*). To avoid confusion when I list all kustomizations with `kubectl get kustomization -A`, I give these oddballs a name which identifies both the helmrelease and the namespace. + +### ConfigMap + +Now we're into the topolvm-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/topolvm/topolvm/blob/main/charts/topolvm/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 tabs (*since they're "encapsulated" within the ConfigMap YAML*). I create this in my flux repo at `topolvm/configmap-topolvm-helm-chart-value-overrides.yaml`: + +??? example "Example ConfigMap (click to expand)" + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + creationTimestamp: null + name: topolvm-helm-chart-value-overrides + namespace: topolvm + data: + values.yaml: |- + # paste chart values.yaml (indented) here and alter as required> + ``` + +--8<-- "kubernetes-why-full-values-in-configmap.md" + +Then work your way through the values you pasted, and change any which are specific to your configuration. You might want to start off by changing the following to match the name of the [volume group you created above](#volume-group).[^1] + +```yaml hl_lines="10-13" +lvmd: + # lvmd.managed -- If true, set up lvmd service with DaemonSet. + managed: true + + # lvmd.socketName -- Specify socketName. + socketName: /run/topolvm/lvmd.sock + + # lvmd.deviceClasses -- Specify the device-class settings. + deviceClasses: + - name: ssd + volume-group: myvg1 + default: true + spare-gb: 10 +``` + +### HelmRelease + +Lastly, having set the scene above, we define the HelmRelease which will actually deploy TopoLVM into the cluster, with the config we defined above. I save this in my flux repo as `topolvm/helmrelease-topolvm.yaml`: + +??? example "Example HelmRelease (click to expand)" + ```yaml + apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + metadata: + name: topolvm + namespace: topolvm-system + spec: + chart: + spec: + chart: topolvm + version: 3.x + sourceRef: + kind: HelmRepository + name: topolvm + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: topolvm + valuesFrom: + - kind: ConfigMap + name: topolvm-helm-chart-value-overrides + valuesKey: values.yaml # This is the default, but best to be explicit for clarity + ``` + +--8<-- "kubernetes-why-not-config-in-helmrelease.md" + +## Serving + +### Deploy TopoLVM + +Having committed the above to your flux repository, you should shortly see a topolvm kustomization, and in the `topolvm-system` namespace, a bunch of pods: + +```bash +demo@shredder:~$ kubectl get pods -n topolvm-system +NAME READY STATUS RESTARTS AGE +topolvm-controller-85698b44dd-65fd9 4/4 Running 0 133m +topolvm-controller-85698b44dd-dmncr 4/4 Running 0 133m +topolvm-lvmd-0-98h4q 1/1 Running 0 133m +topolvm-lvmd-0-b29t8 1/1 Running 0 133m +topolvm-lvmd-0-c5vnf 1/1 Running 0 133m +topolvm-lvmd-0-hmmq5 1/1 Running 0 133m +topolvm-lvmd-0-zfldv 1/1 Running 0 133m +topolvm-node-6p4qz 3/3 Running 0 133m +topolvm-node-7vdgt 3/3 Running 0 133m +topolvm-node-mlp4x 3/3 Running 0 133m +topolvm-node-sxtn5 3/3 Running 0 133m +topolvm-node-xf265 3/3 Running 0 133m +topolvm-scheduler-jlwsh 1/1 Running 0 133m +topolvm-scheduler-nj8nz 1/1 Running 0 133m +topolvm-scheduler-tg72z 1/1 Running 0 133m +demo@shredder:~$ +``` + +### How do I know it's working? + +So the controllers etc are running, but how do we know we can actually provision volumes? + +#### Create PVC + +Create a PVC, by running: + +```bash +cat < pub-cert.pem +``` + +Now generate a kubernetes secret locally, using `kubectl --dry-run=client`, as illustrated below: + +```bash +echo -n batman | kubectl create secret \ + generic mysecret --dry-run=client --from-file=foo=/dev/stdin -o json +``` + +The result should look like this: + +```yaml +{ + "kind": "Secret", + "apiVersion": "v1", + "metadata": { + "name": "mysecret", + "creationTimestamp": null + }, + "data": { + "foo": "YmF0bWFu" + } +} +``` + +Note that "*YmF0bWFu*", [base64 decoded](https://www.base64decode.org/), will reveal the top-secret secret. Not so secret, Batman! + +Next, pipe the secret (*in json format*) to kubeseal, referencing the public key, and you'll get a totally un-decryptable "sealed" secret in return: + +```bash + echo -n batman | kubectl create secret \ + generic mysecret --dry-run=client --from-file=foo=/dev/stdin -o json \ + | kubeseal --cert pub-cert.pem +``` + +Resulting in something like this: + +```json +{ + "kind": "SealedSecret", + "apiVersion": "bitnami.com/v1alpha1", + "metadata": { + "name": "mysecret", + "namespace": "default", + "creationTimestamp": null + }, + "spec": { + "template": { + "metadata": { + "name": "mysecret", + "namespace": "default", + "creationTimestamp": null + }, + "data": null + }, + "encryptedData": { + "foo": "AgAywfMzHx/4QFa3sa68zUbpmejT/MjuHUnfI/p2eo5xFKf2SsdGiRK4q2gl2yaSeEcAlA/P1vKZpsM+Jlh5WqrFxTtJjTYgXilzTSSTkK8hilZMflCnL1xs7ywH/lk+4gHdI7z0QS7FQztc649Z+SP2gjunOmTnRTczyCbzYlYSdHS9bB7xqLvGIofvn4dtQvapiTIlaFKhr+sDNtd8WVVzJ1eLuGgc9g6u1UjhuGa8NhgQnzXBd4zQ7678pKEpkXpUmINEKMzPchp9+ME5tIDASfV/R8rxkKvwN3RO3vbCNyLXw7KXRdyhd276kfHP4p4s9nUWDHthefsh19C6lT0ixup3PiG6gT8eFPa0v4jenxqtKNczmTwN9+dF4ZqHh93cIRvffZ7RS9IUOc9kUObQgvp3fZlo2B4m36G7or30ZfuontBh4h5INQCH8j/U3tXegGwaShGmKWg+kRFYQYC4ZqHCbNQJtvTHWKELQTStoAiyHyM+T36K6nCoJTixGZ/Nq4NzIvVfcp7I8LGzEbRSTdaO+MlTT3d32HjsJplXZwSzygSNrRRGwHKr5wfo5rTTdBVuZ0A1u1a6aQPQiJYSluKZwAIJKGQyfZC5Fbo+NxSxKS8MoaZjQh5VUPB+Q92WoPJoWbqZqlU2JZOuoyDWz5x7ZS812x1etQCy6QmuLYe+3nXOuQx85drJFdNw4KXzoQs2uSA=" + } + } +} +``` + +!!! question "Who set the namespace to default?" + By default, sealed secrets can only be "unsealed" in the same namespace for which the original secret was created. In the example above, we didn't explicitly specity a namespace when creating our secret, so the default namespace was used. + +Apply the sealed secret to the cluster... + +```bash + echo -n batman | kubectl create secret \ + generic mysecret --dry-run=client --from-file=foo=/dev/stdin -o json \ + | kubeseal --cert pub-cert.pem \ + | kubectl create -f - +``` + +And watch the sealed-secrets controller decrypt it, and turn it into a regular secrets, using `kubectl logs -n sealed-secrets -l app.kubernetes.io/name=sealed-secrets` + +```bash +2021/11/16 10:37:16 Event(v1.ObjectReference{Kind:"SealedSecret", Namespace:"default", Name:"mysecret", +UID:"82ac8c4b-c167-400e-8768-51957364f6b9", APIVersion:"bitnami.com/v1alpha1", ResourceVersion:"147314", +FieldPath:""}): type: 'Normal' reason: 'Unsealed' SealedSecret unsealed successfully +``` + +Finally, confirm that the secret now exists in the `default` namespace: + +```yaml +root@shredder:/tmp# kubectl get secret mysecret -o yaml +apiVersion: v1 +data: + foo: YmF0bWFu +kind: Secret +metadata: + creationTimestamp: "2021-11-16T10:37:16Z" + name: mysecret + namespace: default + ownerReferences: + - apiVersion: bitnami.com/v1alpha1 + controller: true + kind: SealedSecret + name: mysecret + uid: 82ac8c4b-c167-400e-8768-51957364f6b9 + resourceVersion: "147315" + uid: 6f6ba81c-c9a2-45bc-877c-7a8b50afde83 +type: Opaque +root@shredder:/tmp# +``` + +So we now have a means to store an un-decryptable secret in our flux repo, and have only our cluster be able to convert that sealedsecret into a regular secret! + +Based on our [flux deployment strategy](/kubernetes/deployment/flux/), we simply seal up any necessary secrets into the appropriate folder in the flux repository, and have them decrypted and unsealed into the running cluster. For example, if we needed a secret for metallb called "magic-password", containing a key "location-of-rabbit", we'd do this: + +```bash + kubectl create secret generic magic-password \ + --namespace metallb-system \ + --dry-run=client \ + --from-literal=location-of-rabbit=top-hat -o json \ + | kubeseal --cert pub-cert.pem \ + | kubectl create -f - \ + > /metallb/sealedsecret-magic-password.yaml +``` + +Once flux reconciled the above sealedsecret, the sealedsecrets controller in the cluster would confirm that it's able to decrypt the secret, and would create the corresponding regular secret. + +### Using our own keypair + +One flaw in the process above is that we rely on the sealedsecrets controller to generate its own public/private keypair. This means that the pair (*and therefore all the encrypted secrets*) are specific to this cluster (*and this instance of the sealedsecrets controller*) only. + +To go "fully GitOps", we'd want to be able to rebuild our entire cluster "from scratch" using our flux repository. If the keypair is recreated when a new cluster is built, then the existing sealedsecrets would remain forever "sealed".. + +The solution here is to [generate our own public/private keypair](https://github.com/bitnami-labs/sealed-secrets/blob/main/docs/bring-your-own-certificates.md), and to store the private key safely and securely outside of the flux repo[^1]. We'll only need the key once, when deploying a fresh instance of the sealedsecrets controller. + +Once you've got the public/private key pair, create them as kubernetes secrets directly in the cluster, like this: + +```bash +kubectl -n sealed-secrets create secret tls my-own-certs \ + --cert="" --key="" +``` + +And then "label" the secret you just created, so that the sealedsecrets controller knows that it's special: + +```bash +kubectl -n sealed-secrets label secret my-own-certs \ + sealedsecrets.bitnami.com/sealed-secrets-key=active +``` + +Restart the sealedsecret controller deployment, to force it to detect the new secret: + +```bash +root@shredder:~# kubectl rollout restart -n sealed-secrets deployment sealed-secrets +deployment.apps/sealed-secrets restarted +root@shredder:~# +``` + +And now when you create your seadsecrets, refer to the public key you just created using `--cert `. These secrets will be decryptable by **any** sealedsecrets controller bootstrapped with the same keypair (*above*). + +--8<-- "recipe-footer.md" + +[^1]: There's no harm in storing the **public** key in the repo though, which means it's easy to refer to when sealing secrets. diff --git a/manuscript/kubernetes/ssl-certificates/cert-manager.md b/manuscript/kubernetes/ssl-certificates/cert-manager.md new file mode 100644 index 0000000..9469678 --- /dev/null +++ b/manuscript/kubernetes/ssl-certificates/cert-manager.md @@ -0,0 +1,140 @@ +--- +description: Cert Manager generates and renews LetsEncrypt certificates +--- +# Cert Manager + +To interact with your cluster externally, you'll almost certainly be using a web browser, and you'll almost certainly be wanting your browsing session to be SSL-secured. Some Ingress Controllers (i.e. Traefik) will include a default, self-signed, nasty old cert which will permit you to use SSL, but it's faaaar better to use valid certs. + +Cert Manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. + +![Sealed Secrets illustration](../../../../images/cert-manager.svg) + +It can issue certificates from a variety of supported sources, including Letโ€™s Encrypt, HashiCorp Vault, and Venafi as well as private PKI. + +It will ensure certificates are valid and up to date, and attempt to renew certificates at a configured time before expiry. + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + +## Preparation + +### Namespace + +We need a namespace to deploy our HelmRelease and associated ConfigMaps into. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/namespaces/namespace-cert-manager.yaml`: + +??? example "Example Namespace (click to expand)" + ```yaml + apiVersion: v1 + kind: Namespace + metadata: + name: cert-manager + ``` + +### HelmRepository + +Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/helmrepositories/helmrepository-jetstack.yaml`: + +??? example "Example HelmRepository (click to expand)" + ```yaml + apiVersion: source.toolkit.fluxcd.io/v1beta1 + kind: HelmRepository + metadata: + name: jetstack + namespace: flux-system + spec: + interval: 15m + url: https://charts.jetstack.io + ``` + +### Kustomization + +Now that the "global" elements of this deployment (*just the HelmRepository in this case*z*) have been defined, we do some "flux-ception", and go one layer deeper, adding another Kustomization, telling flux to deploy any YAMLs found in the repo at `/cert-manager`. I create this Kustomization in my flux repo at `flux-system/kustomizations/kustomization-cert-manager.yaml`: + +??? example "Example Kustomization (click to expand)" + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: cert-manager + namespace: flux-system + spec: + interval: 15m + path: ./cert-manager + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: cert-manager + namespace: cert-manager + ``` + +### ConfigMap + +Now we're into the cert-manager-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/bitnami-labs/cert-manager/blob/main/helm/cert-manager/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 tabs (*since they're "encapsulated" within the ConfigMap YAML*). I create this in my flux repo at `cert-manager/configmap-cert-manager-helm-chart-value-overrides.yaml`: + +??? example "Example ConfigMap (click to expand)" + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + name: cert-manager-helm-chart-value-overrides + namespace: cert-manager + data: + values.yaml: |- + # paste chart values.yaml (indented) here and alter as required> + ``` +--8<-- "kubernetes-why-full-values-in-configmap.md" + +Then work your way through the values you pasted, and change any which are specific to your configuration. + +### HelmRelease + +Lastly, having set the scene above, we define the HelmRelease which will actually deploy the cert-manager controller into the cluster, with the config we defined above. I save this in my flux repo as `cert-manager/helmrelease-cert-manager.yaml`: + +??? example "Example HelmRelease (click to expand)" + ```yaml + apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + metadata: + name: cert-manager + namespace: cert-manager + spec: + chart: + spec: + chart: cert-manager + version: 1.6.x + sourceRef: + kind: HelmRepository + name: jetstack + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: cert-manager + valuesFrom: + - kind: ConfigMap + name: cert-manager-helm-chart-value-overrides + valuesKey: values.yaml # This is the default, but best to be explicit for clarity + ``` + +--8<-- "kubernetes-why-not-config-in-helmrelease.md" + +## Serving + +Once you've committed your YAML files into your repo, you should soon see some pods appear in the `cert-manager` namespace! + +What do we have now? Well, we've got the cert-manager controller **running**, but it won't **do** anything until we define some certificate issuers, credentials, and certificates.. + +### Troubleshooting + +If your certificate is not created **aren't** created as you expect, then the best approach is to check the cert-manager logs, by running `kubectl logs -n cert-manager -l app.kubernetes.io/name=cert-manager`. + +--8<-- "recipe-footer.md" + +[^1]: Why yes, I **have** accidentally rate-limited myself by deleting/recreating my prod certificates a few times! diff --git a/manuscript/kubernetes/ssl-certificates/index.md b/manuscript/kubernetes/ssl-certificates/index.md new file mode 100644 index 0000000..691893d --- /dev/null +++ b/manuscript/kubernetes/ssl-certificates/index.md @@ -0,0 +1,22 @@ +# SSL Certificates + +When you expose applications running within your cluster to the outside world, you're going to want to protect these with SSL certificates. Typically, this'll be SSL certificates used by browsers to access your Ingress resources over HTTPS, but SSL certificates would be used for other externally-facing services, for example OpenLDAP, docker-mailserver, etc. + +!!! question "Why do I need SSL if it's just internal?" + It's true that you could expose applications via HTTP only, and **not** bother with SSL. By doing so, however, you "train yourself"[^1] to ignore SSL certificates / browser security warnings. + + One day, this behaviour will bite you in the ass. + + If you want to be a person who relies on privacy and security, then insist on privacy and security **everywhere**. + + Plus, once you put in the effort to setup automated SSL certificates _once_, it's literally **no** extra effort to use them everywhere! + +I've split this section, conceptually, into 3 separate tasks: + +1. Setup [Cert Manager](/kubernetes/ssl-certificates/cert-manager/), a controller whose job it is to request / renew certificates +2. Setup "[Issuers](/kubernetes/ssl-certificates/letsencrypt-issuers/)" for LetsEncrypt, which Cert Manager will use to request certificates +3. Setup a [wildcard certificate](/kubernetes/ssl-certificates/letsencrypt-wildcard/) in such a way that it can be used by Ingresses like Traefik or Ngnix + +--8<-- "recipe-footer.md" + +[^1]: I had a really annoying but smart boss once who taught me this. Hi Mark! :wave: diff --git a/manuscript/kubernetes/ssl-certificates/letsencrypt-issuers.md b/manuscript/kubernetes/ssl-certificates/letsencrypt-issuers.md new file mode 100644 index 0000000..9664485 --- /dev/null +++ b/manuscript/kubernetes/ssl-certificates/letsencrypt-issuers.md @@ -0,0 +1,109 @@ +# LetsEncrypt Issuers + +Certificates are issued by certificate authorities. By far the most common issuer will be LetsEncrypt. + +In order for Cert Manager to request/renew certificates, we have to tell it about our **Issuers**. + +!!! note + There's a minor distinction between an **Issuer** (*only issues certificates within one namespace*) and a **ClusterIssuer** (*issues certificates throughout the cluster*). Typically a **ClusterIssuer** will be suitable. + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] [Cert-Manager](/kubernetes/cert-manager/) deployed to request/renew certificates + * [x] API credentials for a [supported DNS01 provider](https://cert-manager.io/docs/configuration/acme/dns01/) for LetsEncrypt wildcard certs + +## Preparation + +### LetsEncrypt Staging + +The ClusterIssuer resource below represents a certificate authority which is able to request certificates for any namespace within the cluster. +I save this in my flux repo as `cert-manager/cluster-issuer-letsencrypt-staging.yaml`. I've highlighted the areas you'll need to pay attention to: + +???+ example "ClusterIssuer for LetsEncrypt Staging" + ```yaml hl_lines="8 15 17-21" + apiVersion: cert-manager.io/v1 + kind: ClusterIssuer + metadata: + name: letsencrypt-staging + spec: + acme: + email: batman@example.com + server: https://acme-staging-v02.api.letsencrypt.org/directory + privateKeySecretRef: + name: letsencrypt-staging + solvers: + - selector: + dnsZones: + - "example.com" + dns01: + cloudflare: + email: batman@example.com + apiTokenSecretRef: + name: cloudflare-api-token-secret + key: api-token + ``` + +Deploying this issuer YAML into the cluster would provide Cert Manager with the details necessary to start issuing certificates from the LetsEncrypt staging server (*always good to test in staging first!*) + +!!! note + The example above is specific to [Cloudflare](https://cert-manager.io/docs/configuration/acme/dns01/cloudflare/), but the syntax for [other providers](https://cert-manager.io/docs/configuration/acme/dns01/) is similar. + +### LetsEncrypt Prod + +As you'd imagine, the "prod" version of the LetsEncrypt issues is very similar, and I save this in my flux repo as `cert-manager/cluster-issuer-letsencrypt-prod.yaml` + +???+ example "ClusterIssuer for LetsEncrypt Prod" + ```yaml hl_lines="8 15 17-21" + apiVersion: cert-manager.io/v1 + kind: ClusterIssuer + metadata: + name: letsencrypt-prod + spec: + acme: + email: batman@example.com + server: https://acme-v02.api.letsencrypt.org/directory + privateKeySecretRef: + name: letsencrypt-prod + solvers: + - selector: + dnsZones: + - "example.com" + dns01: + cloudflare: + email: batman@example.com + apiTokenSecretRef: + name: cloudflare-api-token-secret + key: api-token + ``` + +!!! note + You'll note that there are two secrets referred to above - `privateKeySecretRef`, referencing `letsencrypt-prod` is for cert-manager to populate as a result of its ACME schenanigans - you don't have to do anything about this particular secret! The cloudflare-specific secret (*and this will change based on your provider*) is expected to be found in the same namespace as the certificate we'll be issuing, and will be discussed when we create our [wildcard certificate](/kubernetes/ssl-certificates/letsencrypt-wildcard/). + +## Serving + +### How do we know it works? + +We're not quite ready to issue certificates yet, but we can now test whether the Issuers are configured correctly for LetsEncrypt. To check their status, **describe** the ClusterIssuers (i.e., `kubectl describe clusterissuer -n cert-manager letsencrypt-prod`), which (*truncated*) shows something like this: + +```yaml +Status: + Acme: + Last Registered Email: admin@example.com + Uri: https://acme-v02.api.letsencrypt.org/acme/acct/34523 + Conditions: + Last Transition Time: 2021-11-18T22:54:20Z + Message: The ACME account was registered with the ACME server + Observed Generation: 1 + Reason: ACMEAccountRegistered + Status: True + Type: Ready +Events: +``` + +Provided your account is registered, you're ready to proceed with [creating a wildcard certificate](/kubernetes/ssl-certificates/letsencrypt-wildcard/)! + +--8<-- "recipe-footer.md" + +[^1]: Since a ClusterIssuer is not a namespaced resource, it doesn't exist in any specific namespace. Therefore, my assumption is that the `apiTokenSecretRef` secret is only "looked for" when a certificate (*which __is__ namespaced*) requires validation. diff --git a/manuscript/kubernetes/ssl-certificates/secret-replicator.md b/manuscript/kubernetes/ssl-certificates/secret-replicator.md new file mode 100644 index 0000000..bc90834 --- /dev/null +++ b/manuscript/kubernetes/ssl-certificates/secret-replicator.md @@ -0,0 +1,175 @@ +# Secret Replicator + +As explained when creating our [LetsEncrypt Wildcard certificates](/kubernetes/ssl-certificates/letsencrypt-wildcard/), it can be problematic that Certificates can't be **shared** between namespaces. One simple solution to this problem is simply to "replicate" secrets from one "source" namespace into all other namespaces. + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] [secret-replicator](/kubernetes/secret-replicator/) deployed to request/renew certificates + * [x] [LetsEncrypt Wildcard Certificates](/kubernetes/ssl-certificates/letsencrypt-wildcard/) created in the `letsencrypt-wildcard-cert` namespace + +Kiwigrid's "[Secret Replicator](https://github.com/kiwigrid/secret-replicator)" is a simple controller which replicates secrets from one namespace to another.[^1] + +## Preparation + +### Namespace + +We need a namespace to deploy our HelmRelease and associated ConfigMaps into. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/namespaces/namespace-secret-replicator.yaml`: + +??? example "Example Namespace (click to expand)" + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: secret-replicator +``` + +### HelmRepository + +Next, we need to define a HelmRepository (*a repository of helm charts*), to which we'll refer when we create the HelmRelease. We only need to do this once per-repository. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/helmrepositories/helmrepository-kiwigrid.yaml`: + +??? example "Example HelmRepository (click to expand)" + ```yaml + apiVersion: source.toolkit.fluxcd.io/v1beta1 + kind: HelmRepository + metadata: + name: kiwigrid + namespace: flux-system + spec: + interval: 15m + url: https://kiwigrid.github.io + ``` + +### Kustomization + +Now that the "global" elements of this deployment have been defined, we do some "flux-ception", and go one layer deeper, adding another Kustomization, telling flux to deploy any YAMLs found in the repo at `/secret-replicator`. I create this Kustomization in my flux repo at `flux-system/kustomizations/kustomization-secret-replicator.yaml`: + +??? example "Example Kustomization (click to expand)" + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: secret-replicator + namespace: flux-system + spec: + interval: 15m + path: ./secret-replicator + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: secret-replicator + namespace: secret-replicator + ``` + +### ConfigMap + +Now we're into the secret-replicator-specific YAMLs. First, we create a ConfigMap, containing the entire contents of the helm chart's [values.yaml](https://github.com/kiwigrid/helm-charts/blob/master/charts/secret-replicator/values.yaml). Paste the values into a `values.yaml` key as illustrated below, indented 4 tabs (*since they're "encapsulated" within the ConfigMap YAML*). I create this in my flux repo at `secret-replicator/configmap-secret-replicator-helm-chart-value-overrides.yaml`: + +??? example "Example ConfigMap (click to expand)" + ```yaml hl_lines="21 27" + apiVersion: v1 + kind: ConfigMap + metadata: + name: secret-replicator-helm-chart-value-overrides + namespace: secret-replicator + data: + values.yaml: |- + # Default values for secret-replicator. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + + image: + repository: kiwigrid/secret-replicator + tag: 0.2.0 + pullPolicy: IfNotPresent + ## Specify ImagePullSecrets for Pods + ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod + # pullSecrets: myregistrykey + + # csv list of secrets + secretList: "letsencrypt-wildcard-cert" + # secretList: "secret1,secret2 + + ignoreNamespaces: "kube-system,kube-public" + + # If defined, allow secret-replicator to watch for secrets in _another_ namespace + secretNamespace: letsencrypt-wildcard-cert" + + rbac: + enabled: true + + resources: {} + # limits: + # cpu: 50m + # memory: 20Mi + # requests: + # cpu: 20m + # memory: 20Mi + + nodeSelector: {} + + tolerations: [] + + affinity: {} + ``` +--8<-- "kubernetes-why-full-values-in-configmap.md" + +Note that the following values changed from default, above: + +* `secretList`: `letsencrypt-wildcard-cert` +* `secretNamespace`: `letsencrypt-wildcard-cert` + +### HelmRelease + +Lastly, having set the scene above, we define the HelmRelease which will actually deploy the secret-replicator controller into the cluster, with the config we defined above. I save this in my flux repo as `secret-replicator/helmrelease-secret-replicator.yaml`: + +??? example "Example HelmRelease (click to expand)" + ```yaml + apiVersion: helm.toolkit.fluxcd.io/v2beta1 + kind: HelmRelease + metadata: + name: secret-replicator + namespace: secret-replicator + spec: + chart: + spec: + chart: secret-replicator + version: 0.6.x + sourceRef: + kind: HelmRepository + name: kiwigrid + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: secret-replicator + valuesFrom: + - kind: ConfigMap + name: secret-replicator-helm-chart-value-overrides + valuesKey: values.yaml # This is the default, but best to be explicit for clarity + ``` + +--8<-- "kubernetes-why-not-config-in-helmrelease.md" + +## Serving + +Once you've committed your YAML files into your repo, you should soon see some pods appear in the `secret-replicator` namespace! + +### How do we know it worked? + +Look for secrets across the whole cluster, by running `kubectl get secrets -A | grep letsencrypt-wildcard-cert`. What you should see is an identical secret in every namespace. Note that the **Certificate** only exists in the `letsencrypt-wildcard-cert` namespace, but the secret it **generates** is what gets replicated to every other namespace. + +### Troubleshooting + +If your certificate is not created **aren't** created as you expect, then the best approach is to check the secret-replicator logs, by running `kubectl logs -n secret-replicator -l app.kubernetes.io/name=secret-replicator`. + +--8<-- "recipe-footer.md" + +[^1]: To my great New Zealandy confusion, "Kiwigrid GmbH" is a German company :shrug: diff --git a/manuscript/kubernetes/ssl-certificates/wildcard-certificate.md b/manuscript/kubernetes/ssl-certificates/wildcard-certificate.md new file mode 100644 index 0000000..40795e6 --- /dev/null +++ b/manuscript/kubernetes/ssl-certificates/wildcard-certificate.md @@ -0,0 +1,156 @@ +# Wildcard Certificate + +Now that we have an [Issuer](/kubernetes/ssl-certificates/letsencrypt-issuers/) and the necessary credentials, we can create a wildcard certificate, which we can then feed to our [Ingresses](/kubernetes/ingress/). + +!!! summary "Ingredients" + + * [x] A [Kubernetes cluster](/kubernetes/cluster/) + * [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped + * [x] [Cert-Manager](/kubernetes/cert-manager/) deployed to request/renew certificates + * [x] [LetsEncrypt ClusterIssuers](/kubernetes/ssl-certificates/letsencrypt-issuers/) created using DNS01 validation solvers + +Certificates are Kubernetes secrets, and so are subject to the same limitations / RBAC controls as other secrets. Importantly, they are **namespaced**, so it's not possible to refer to a secret in one namespace, from a pod in **another** namespace. This restriction also applies to Ingress resources (*although there are workarounds*) - An Ingress can only refer to TLS secrets in its own namespace. + +This behaviour can be prohibitive, because (a) we don't want to have to request/renew certificates for every single FQDN served by our cluster, and (b) we don't want more than one wildcard certificate if possible, to avoid being rate-limited at request/renewal time. + +To take advantage of the various workarounds available, I find it best to put the certificates into a dedicated namespace, which I name.. `letsencrypt-wildcard-cert`. + +!!! question "Why not the cert-manager namespace?" + Because cert-manager is a _controller_, whose job it is to act on resources. I should be able to remove cert-manager entirely (even its namespace) from my cluster, and re-add it, without impacting the resources it acts upon. If the certificates lived in the `cert-manager` namespace, then I wouldn't be able to remove the namespace without also destroying the certificates. + +## Preparation + +### Namespace + +We need a namespace to deploy our certificates and associated secrets into. Per the [flux design](/kubernetes/deployment/flux/), I create this in my flux repo at `flux-system/namespaces/namespace-letsencrypt-wildcard-cert.yaml`: + +??? example "Example Namespace (click to expand)" + ```yaml + apiVersion: v1 + kind: Namespace + metadata: + name: letsencrypt-wildcard-cert + ``` + +### Kustomization + +Now we need a kustomization to tell Flux to install any YAMLs it finds in `/letsencrypt-wildcard-cert`. I create this Kustomization in my flux repo at `flux-system/kustomizations/kustomization-letsencrypt-wildcard-cert.yaml`. + +!!! tip + Importantly, note that we define a **dependsOn**, to tell Flux not to try to reconcile this kustomization before the cert-manager and sealedsecrets kustomizations are reconciled. Cert-manager creates the CRDs used to define certificates, so prior to Cert Manager being installed, the cluster won't know what to do with the ClusterIssuers/Certificate resources. + +??? example "Example Kustomization (click to expand)" + ```yaml + apiVersion: kustomize.toolkit.fluxcd.io/v1beta1 + kind: Kustomization + metadata: + name: letsencrypt-wildcard-cert + namespace: flux-system + spec: + interval: 15m + path: ./letsencrypt-wildcard-cert + dependsOn: + - name: "cert-manager" + - name: "sealed-secrets" + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + validation: server + ``` + +### DNS01 Validation Secret + +The simplest way to validate ownership of a domain to LetsEncrypt is to use DNS-01 validation. In this mode, we "prove" our ownership of a domain name by creating a special TXT record, which LetsEncrypt will check and confirm for validity, before issuing us any certificates for that domain name. + +The [ClusterIssuers we created earlier](/kubernetes/ssl-certificates/letsencrypt-issuers/) included a field `solvers.dns01.cloudflare.apiTokenSecretRef.name`. This value points to a secret (*in the same namespace as the certificate[^1]*) containing credentials necessary to create DNS records automatically. (*again, my examples are for cloudflare, but the [other supported providers](https://cert-manager.io/docs/configuration/acme/dns01/) will have similar secret requirements*) + +Thanks to [Sealed Secrets](/kubernetes/sealed-secrets/), we have a safe way of committing secrets into our repository, so to create necessary secret, you'd run something like this: + +```bash + kubectl create secret generic cloudflare-api-token-secret \ + --namespace letsencrypt-wildcard-cert \ + --dry-run=client \ + --from-literal=api-token=gobbledegook -o json \ + | kubeseal --cert \ + | kubectl create -f - \ + > /letsencrypt-wildcard-cert/sealedsecret-cloudflare-api-token-secret.yaml +``` + +### Staging Certificate + +Finally, we create our certificates! Here's an example certificate resource which uses the letsencrypt-staging issuer (*to avoid being rate-limited while learning!*). I save this in my flux repo as `/letsencrypt-wildcard-cert/certificate-wildcard-cert-letsencrypt-staging.yaml` + +???+ example "Example certificate requested from LetsEncrypt staging" + + ```yaml + apiVersion: cert-manager.io/v1 + kind: Certificate + metadata: + name: letsencrypt-wildcard-cert-example.com-staging + namespace: letsencrypt-wildcard-cert + spec: + # secretName doesn't have to match the certificate name, but it may as well, for simplicity! + secretName: letsencrypt-wildcard-cert-example.com-staging + issuerRef: + name: letsencrypt-staging + kind: ClusterIssuer + dnsNames: + - "example.com" + - "*.example.com" + ``` + +## Serving + +### Did it work? + +After committing the above to the repo, provided the YAML syntax is correct, you should end up with a "Certificate" resource in the `letsencrypt-wildcard-cert` namespace. This doesn't mean that the certificate has been issued by LetsEncrypt yet though - describe the certificate for more details, using `kubectl describe certificate -n letsencrypt-wildcard-cert letsencrypt-wildcard-cert-staging`. The `status` field will show you whether the certificate is issued or not: + +```yaml +Status: + Conditions: + Last Transition Time: 2021-11-19T01:09:32Z + Message: Certificate is up to date and has not expired + Observed Generation: 1 + Reason: Ready + Status: True + Type: Ready + Not After: 2022-02-17T00:09:26Z + Not Before: 2021-11-19T00:09:27Z + Renewal Time: 2022-01-18T00:09:26Z + Revision: 1 +``` + +### Troubleshooting + +If your certificate does not become `Ready` within a few minutes [^1], try watching the logs of cert-manager to identify the issue, using `kubectl logs -f -n cert-manager -l app.kubernetes.io/name=cert-manager`. + +### Production Certificate + +Once you know you can happily deploy a staging certificate, it's safe enough to attempt your "prod" certificate. I save this in my flux repo as `/letsencrypt-wildcard-cert/certificate-wildcard-cert-letsencrypt-prod.yaml` + +???+ example "Example certificate requested from LetsEncrypt prod" + + ```yaml + apiVersion: cert-manager.io/v1 + kind: Certificate + metadata: + name: letsencrypt-wildcard-cert-example.com + namespace: letsencrypt-wildcard-cert + spec: + # secretName doesn't have to match the certificate name, but it may as well, for simplicity! + secretName: letsencrypt-wildcard-cert-example.com + issuerRef: + name: letsencrypt-prod + kind: ClusterIssuer + dnsNames: + - "example.com" + - "*.example.com" + ``` + +Commit the certificate and follow the steps above to confirm that your prod certificate has been issued. + +--8<-- "recipe-footer.md" + +[^1]: This process can take a frustratingly long time, and watching the cert-manager logs at least gives some assurance that it's progressing! diff --git a/manuscript/recipes/kubernetes/kanboard.md b/manuscript/recipes/kubernetes/kanboard.md deleted file mode 100644 index 87e6e30..0000000 --- a/manuscript/recipes/kubernetes/kanboard.md +++ /dev/null @@ -1,261 +0,0 @@ -# Kanboard - -Kanboard is a Kanban tool, developed by [Frรฉdรฉric Guillot](https://github.com/fguillot). (_Who also happens to be the developer of my favorite RSS reader, [Miniflux](/recipes/miniflux/)_) - -![Kanboard Screenshot](/images/kanboard.png) - -Features include: - -* Visualize your work -* Limit your work in progress to be more efficient -* Customize your boards according to your business activities -* Multiple projects with the ability to drag and drop tasks -* Reports and analytics -* Fast and simple to use -* Access from anywhere with a modern browser -* Plugins and integrations with external services -* Free, open source and self-hosted -* Super simple installation - -## Ingredients - -1. A [Kubernetes Cluster](/kubernetes/design/) including [Traefik Ingress](/kubernetes/traefik/) -2. A DNS name for your kanboard instance (*kanboard.example.com*, below) pointing to your [load balancer](/kubernetes/loadbalancer/), fronting your Traefik ingress - -## Preparation - -### Prepare traefik for namespace - -When you deployed [Traefik via the helm chart](/kubernetes/traefik/), you would have customized ```values.yml``` for your deployment. In ```values.yml``` is a list of namespaces which Traefik is permitted to access. Update ```values.yml``` to include the *kanboard* namespace, as illustrated below: - -```yaml - -kubernetes: - namespaces: - - kube-system - - nextcloud - - kanboard - - miniflux - -``` - -If you've updated ```values.yml```, upgrade your traefik deployment via helm, by running ```helm upgrade --values values.yml traefik stable/traefik --recreate-pods``` - -### Create data locations - -Although we could simply bind-mount local volumes to a local Kubuernetes cluster, since we're targetting a cloud-based Kubernetes deployment, we only need a local path to store the YAML files which define the various aspects of our Kubernetes deployment. - -```bash -mkdir /var/data/config/kanboard -``` - -### Create namespace - -We use Kubernetes namespaces for service discovery and isolation between our stacks, so create a namespace for the kanboard stack with the following .yml: - -```bash -cat < /var/data/config/kanboard/namespace.yml -apiVersion: v1 -kind: Namespace -metadata: - name: kanboard -EOF -kubectl create -f /var/data/config/kanboard/namespace.yaml -``` - -### Create persistent volume claim - -Persistent volume claims are a streamlined way to create a persistent volume and assign it to a container in a pod. Create a claim for the kanboard app and plugin data: - -```bash -cat < /var/data/config/kanboard/persistent-volumeclaim.yml -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: kanboard-volumeclaim - namespace: kanboard - annotations: - backup.kubernetes.io/deltas: P1D P7D -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi -EOF -kubectl create -f /var/data/config/kanboard/kanboard-volumeclaim.yaml -``` - -!!! question "What's that annotation about?" - The annotation is used by [k8s-snapshots](/kubernetes/snapshots/) to create daily incremental snapshots of your persistent volumes. In this case, our volume is snapshotted daily, and copies kept for 7 days. - -### Create ConfigMap - -Kanboard's configuration is all contained within ```config.php```, which needs to be presented to the container. We _could_ maintain ```config.php``` in the persistent volume we created above, but this would require manually accessing the pod every time we wanted to make a change. - -Instead, we'll create ```config.php``` as a [ConfigMap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/), meaning it "lives" within the Kuberetes cluster and can be **presented** to our pod. When we want to make changes, we simply update the ConfigMap (*delete and recreate, to be accurate*), and relaunch the pod. - -Grab a copy of [config.default.php](https://github.com/kanboard/kanboard/blob/master/config.default.php), save it to ```/var/data/config/kanboard/config.php```, and customize it per [the guide](https://docs.kanboard.org/en/latest/admin_guide/config_file.html). - -At the very least, I'd suggest making the following changes: - -```php -define('PLUGIN_INSTALLER', true); // Yes, I want to install plugins using the UI -define('ENABLE_URL_REWRITE', false); // Yes, I want pretty URLs -``` - -Now create the configmap from config.php, by running ```kubectl create configmap -n kanboard kanboard-config --from-file=config.php``` - -## Serving - -Now that we have a [namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/), a [persistent volume](https://kubernetes.io/docs/concepts/storage/persistent-volumes/), and a [configmap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/), we can create a [deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), [service](https://kubernetes.io/docs/concepts/services-networking/service/), and [ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) for the kanboard [pod](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/). - -### Create deployment - -Create a deployment to tell Kubernetes about the desired state of the pod (*which it will then attempt to maintain*). Note below that we mount the persistent volume **twice**, to both ```/var/www/app/data``` and ```/var/www/app/plugins```, using the subPath value to differentiate them. This trick avoids us having to provision **two** persistent volumes just for data mounted in 2 separate locations. - ---8<-- "premix-cta.md" - -```bash -cat < /var/data/kanboard/deployment.yml -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - namespace: kanboard - name: app - labels: - app: app -spec: - replicas: 1 - selector: - matchLabels: - app: app - template: - metadata: - labels: - app: app - spec: - containers: - - image: kanboard/kanboard - name: app - volumeMounts: - - name: kanboard-config - mountPath: /var/www/app/config.php - subPath: config.php - - name: kanboard-app - mountPath: /var/www/app/data - subPath: data - - name: kanboard-app - mountPath: /var/www/app/plugins - subPath: plugins - volumes: - - name: kanboard-app - persistentVolumeClaim: - claimName: kanboard-app - - name: kanboard-config - configMap: - name: kanboard-config -EOF -kubectl create -f /var/data/kanboard/deployment.yml -``` - -Check that your deployment is running, with ```kubectl get pods -n kanboard```. After a minute or so, you should see a "Running" pod, as illustrated below: - -```bash -[funkypenguin:~] % kubectl get pods -n kanboard -NAME READY STATUS RESTARTS AGE -app-79f97f7db6-hsmfg 1/1 Running 0 11d -[funkypenguin:~] % -``` - -### Create service - -The service resource "advertises" the availability of TCP port 80 in your pod, to the rest of the cluster (*constrained within your namespace*). It seems a little like overkill coming from the Docker Swarm's automated "service discovery" model, but the Kubernetes design allows for load balancing, rolling upgrades, and health checks of individual pods, without impacting the rest of the cluster elements. - -```bash -cat < /var/data/kanboard/service.yml -kind: Service -apiVersion: v1 -metadata: - name: app - namespace: kanboard -spec: - selector: - app: app - ports: - - protocol: TCP - port: 80 - clusterIP: None -EOF -kubectl create -f /var/data/kanboard/service.yml -``` - -Check that your service is deployed, with ```kubectl get services -n kanboard```. You should see something like this: - -```bash -[funkypenguin:~] % kubectl get service -n kanboard -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -app ClusterIP None 80/TCP 38d -[funkypenguin:~] % -``` - -### Create ingress - -The ingress resource tells Traefik what to forward inbound requests for *kanboard.example.com* to your service (defined above), which in turn passes the request to the "app" pod. Adjust the config below for your domain. - -```bash -cat < /var/data/kanboard/ingress.yml -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: app - namespace: kanboard - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - host: kanboard.example.com - http: - paths: - - backend: - serviceName: app - servicePort: 80 -EOF -kubectl create -f /var/data/kanboard/ingress.yml -``` - -Check that your service is deployed, with ```kubectl get ingress -n kanboard```. You should see something like this: - -```bash -[funkypenguin:~] % kubectl get ingress -n kanboard -NAME HOSTS ADDRESS PORTS AGE -app kanboard.funkypenguin.co.nz 80 38d -[funkypenguin:~] % -``` - -### Access Kanboard - -At this point, you should be able to access your instance on your chosen DNS name (*i.e. *) - -### Updating config.php - -Since ```config.php``` is a ConfigMap now, to update it, make your local changes, and then delete and recreate the ConfigMap, by running: - -```bash -kubectl delete configmap -n kanboard kanboard-config -kubectl create configmap -n kanboard kanboard-config --from-file=config.php -``` - -Then, in the absense of any other changes to the deployement definition, force the pod to restart by issuing a "null patch", as follows: - -```bash -kubectl patch -n kanboard deployment app -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"`date +'%s'`\"}}}}}" -``` - -### Troubleshooting - -To look at the Kanboard pod's logs, run ```kubectl logs -n kanboard -f```. For further troubleshooting hints, see [Troubleshooting](/reference/kubernetes/troubleshooting/). - -[^1]: The simplest deployment of Kanboard uses the default SQLite database backend, stored on the persistent volume. You can convert this to a "real" database running MySQL or PostgreSQL, and running an an additional database pod and service. Contact me if you'd like further details ;) - ---8<-- "recipe-footer.md" diff --git a/manuscript/recipes/kubernetes/wip.md b/manuscript/recipes/kubernetes/wip.md new file mode 100644 index 0000000..26b4f23 --- /dev/null +++ b/manuscript/recipes/kubernetes/wip.md @@ -0,0 +1,314 @@ +# Miniflux + +Miniflux is a lightweight RSS reader, developed by [Frรฉdรฉric Guillot](https://github.com/fguillot). (_Who also happens to be the developer of the favorite Open Source Kanban app, [Kanboard](/recipes/kanboard/)_) + +![Miniflux Screenshot](/images/miniflux.png) + +I've [reviewed Miniflux in detail on my blog](https://www.funkypenguin.co.nz/review/miniflux-lightweight-self-hosted-rss-reader/), but features (among many) that I appreciate: + +* Compatible with the Fever API, read your feeds through existing mobile and desktop clients (_This is the killer feature for me. I hardly ever read RSS on my desktop, I typically read on my iPhone or iPad, using [Fiery Feeds](http://cocoacake.net/apps/fiery/) or my new squeeze, [Unread](https://www.goldenhillsoftware.com/unread/)_) +* Send your bookmarks to Pinboard, Wallabag, Shaarli or Instapaper (_I use this to automatically pin my bookmarks for collection on my [blog](https://www.funkypenguin.co.nz/)_) +* Feeds can be configured to download a "full" version of the content (_rather than an excerpt_) +* Use the Bookmarklet to subscribe to a website directly from any browsers + +!!! abstract "2.0+ is a bit different" + [Some things changed](https://docs.miniflux.net/en/latest/migration.html) when Miniflux 2.0 was released. For one thing, the only supported database is now postgresql (_no more SQLite_). External themes are gone, as is PHP (_in favor of golang_). It's been a controversial change, but I'm keen on minimal and single-purpose, so I'm still very happy with the direction of development. The developer has laid out his [opinions](https://docs.miniflux.net/en/latest/opinionated.html) re the decisions he's made in the course of development. + +## Ingredients + +1. A [Kubernetes Cluster](/kubernetes/design/) including [Traefik Ingress](/kubernetes/traefik/) +2. A DNS name for your miniflux instance (*miniflux.example.com*, below) pointing to your [load balancer](/kubernetes/loadbalancer/), fronting your Traefik ingress + +## Preparation + +### Prepare traefik for namespace + +When you deployed [Traefik via the helm chart](/kubernetes/traefik/), you would have customized ```values.yml``` for your deployment. In ```values.yml``` is a list of namespaces which Traefik is permitted to access. Update ```values.yml``` to include the *miniflux* namespace, as illustrated below: + +```yaml + +kubernetes: + namespaces: + - kube-system + - nextcloud + - kanboard + - miniflux + +``` + +If you've updated ```values.yml```, upgrade your traefik deployment via helm, by running ```helm upgrade --values values.yml traefik stable/traefik --recreate-pods``` + +### Create data locations + +Although we could simply bind-mount local volumes to a local Kubuernetes cluster, since we're targetting a cloud-based Kubernetes deployment, we only need a local path to store the YAML files which define the various aspects of our Kubernetes deployment. + +```bash +mkdir /var/data/config/miniflux +``` + +### Create namespace + +We use Kubernetes namespaces for service discovery and isolation between our stacks, so create a namespace for the miniflux stack with the following .yml: + +```bash +cat < /var/data/config/miniflux/namespace.yml +apiVersion: v1 +kind: Namespace +metadata: + name: miniflux +EOF +kubectl create -f /var/data/config/miniflux/namespace.yaml +``` + +### Create persistent volume claim + +Persistent volume claims are a streamlined way to create a persistent volume and assign it to a container in a pod. Create a claim for the miniflux postgres database: + +```bash +cat < /var/data/config/miniflux/db-persistent-volumeclaim.yml +kkind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: miniflux-db + namespace: miniflux + annotations: + backup.kubernetes.io/deltas: P1D P7D +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +EOF +kubectl create -f /var/data/config/miniflux/db-persistent-volumeclaim.yaml +``` + +!!! question "What's that annotation about?" + The annotation is used by [k8s-snapshots](/kubernetes/snapshots/) to create daily incremental snapshots of your persistent volumes. In this case, our volume is snapshotted daily, and copies kept for 7 days. + +### Create secrets + +It's not always desirable to have sensitive data stored in your .yml files. Maybe you want to check your config into a git repository, or share it. Using Kubernetes Secrets means that you can create "secrets", and use these in your deployments by name, without exposing their contents. Run the following, replacing ```imtoosexyformyadminpassword```, and the ```mydbpass``` value in both postgress-password.secret **and** database-url.secret: + +```bash +echo -n "imtoosexyformyadminpassword" > admin-password.secret +echo -n "mydbpass" > postgres-password.secret +echo -n "postgres://miniflux:mydbpass@db/miniflux?sslmode=disable" > database-url.secret + +kubectl create secret -n mqtt generic miniflux-credentials \ + --from-file=admin-password.secret \ + --from-file=database-url.secret \ + --from-file=database-url.secret +``` + +!!! tip "Why use ```echo -n```?" + Because. See [my blog post here](https://www.funkypenguin.co.nz/blog/beware-the-hidden-newlines-in-kubernetes-secrets/) for the pain of hunting invisible newlines, that's why! + +## Serving + +Now that we have a [namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/), a [persistent volume](https://kubernetes.io/docs/concepts/storage/persistent-volumes/), and a [configmap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/), we can create [deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), [services](https://kubernetes.io/docs/concepts/services-networking/service/), and an [ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) for the miniflux [pods](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/). + +### Create db deployment + +Deployments tell Kubernetes about the desired state of the pod (*which it will then attempt to maintain*). Create the db deployment by excecuting the following. Note that the deployment refers to the secrets created above. + +--8<-- "premix-cta.md" + +```bash +cat < /var/data/miniflux/db-deployment.yml +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + namespace: miniflux + name: db + labels: + app: db +spec: + replicas: 1 + selector: + matchLabels: + app: db + template: + metadata: + labels: + app: db + spec: + containers: + - image: postgres:11 + name: db + volumeMounts: + - name: miniflux-db + mountPath: /var/lib/postgresql/data + env: + - name: POSTGRES_USER + value: "miniflux" + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: miniflux-credentials + key: postgres-password.secret + volumes: + - name: miniflux-db + persistentVolumeClaim: + claimName: miniflux-db +``` + +### Create app deployment + +Create the app deployment by excecuting the following. Again, note that the deployment refers to the secrets created above. + +```bash +cat < /var/data/miniflux/app-deployment.yml +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + namespace: miniflux + name: app + labels: + app: app +spec: + replicas: 1 + selector: + matchLabels: + app: app + template: + metadata: + labels: + app: app + spec: + containers: + - image: miniflux/miniflux + name: app + env: + # This is necessary for the miniflux to update the db schema, even on an empty DB + - name: CREATE_ADMIN + value: "1" + - name: RUN_MIGRATIONS + value: "1" + - name: ADMIN_USERNAME + value: "admin" + - name: ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: miniflux-credentials + key: admin-password.secret + - name: DATABASE_URL + valueFrom: + secretKeyRef: + name: miniflux-credentials + key: database-url.secret +EOF +kubectl create -f /var/data/miniflux/deployment.yml +``` + +### Check pods + +Check that your deployment is running, with ```kubectl get pods -n miniflux```. After a minute or so, you should see 2 "Running" pods, as illustrated below: + +```bash +[funkypenguin:~] % kubectl get pods -n miniflux +NAME READY STATUS RESTARTS AGE +app-667c667b75-5jjm9 1/1 Running 0 4d +db-fcd47b88f-9vvqt 1/1 Running 0 4d +[funkypenguin:~] % +``` + +### Create db service + +The db service resource "advertises" the availability of PostgreSQL's port (TCP 5432) in your pod, to the rest of the cluster (*constrained within your namespace*). It seems a little like overkill coming from the Docker Swarm's automated "service discovery" model, but the Kubernetes design allows for load balancing, rolling upgrades, and health checks of individual pods, without impacting the rest of the cluster elements. + +```bash +cat < /var/data/miniflux/db-service.yml +kind: Service +apiVersion: v1 +metadata: + name: db + namespace: miniflux +spec: + selector: + app: db + ports: + - protocol: TCP + port: 5432 + clusterIP: None +EOF +kubectl create -f /var/data/miniflux/service.yml +``` + +### Create app service + +The app service resource "advertises" the availability of miniflux's HTTP listener port (TCP 8080) in your pod. This is the service which will be referred to by the ingress (below), so that Traefik can route incoming traffic to the miniflux app. + +```bash +cat < /var/data/miniflux/app-service.yml +kind: Service +apiVersion: v1 +metadata: + name: app + namespace: miniflux +spec: + selector: + app: app + ports: + - protocol: TCP + port: 8080 + clusterIP: None +EOF +kubectl create -f /var/data/miniflux/app-service.yml +``` + +### Check services + +Check that your services are deployed, with ```kubectl get services -n miniflux```. You should see something like this: + +```bash +[funkypenguin:~] % kubectl get services -n miniflux +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +app ClusterIP None 8080/TCP 55d +db ClusterIP None 5432/TCP 55d +[funkypenguin:~] % +``` + +### Create ingress + +The ingress resource tells Traefik what to forward inbound requests for *miniflux.example.com* to your service (defined above), which in turn passes the request to the "app" pod. Adjust the config below for your domain. + +```bash +cat < /var/data/miniflux/ingress.yml +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: app + namespace: miniflux + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: miniflux.example.com + http: + paths: + - backend: + serviceName: app + servicePort: 8080 +EOF +kubectl create -f /var/data/miniflux/ingress.yml +``` + +Check that your service is deployed, with ```kubectl get ingress -n miniflux```. You should see something like this: + +```bash +[funkypenguin:~] 130 % kubectl get ingress -n miniflux +NAME HOSTS ADDRESS PORTS AGE +app miniflux.funkypenguin.co.nz 80 55d +[funkypenguin:~] % +``` + +### Access Miniflux + +At this point, you should be able to access your instance on your chosen DNS name (*i.e. *) + +### Troubleshooting + +To look at the Miniflux pod's logs, run ```kubectl logs -n miniflux -f```. For further troubleshooting hints, see [Troubleshooting](/reference/kubernetes/troubleshooting/). + +--8<-- "recipe-footer.md" diff --git a/mkdocs-insiders.yml b/mkdocs-insiders.yml index f383195..8e4a01c 100644 --- a/mkdocs-insiders.yml +++ b/mkdocs-insiders.yml @@ -2,5 +2,5 @@ # that don't degrade for the open-source version INHERIT: mkdocs.yml # disabled for now, since I'm not convinced social cards are better than default thumbnails -plugins: - social: {} +# plugins: +# social: {} diff --git a/mkdocs.yml b/mkdocs.yml index 67ee0aa..61d45f3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -142,19 +142,88 @@ nav: - Networks: reference/networks.md - OpenVPN : reference/openvpn.md - Troubleshooting: reference/troubleshooting.md - - Kubernetes: + - โ›ด Kubernetes: - Preparation: - kubernetes/index.md - - Design: kubernetes/design.md - - Cluster: kubernetes/cluster.md - - DIY Cluster: kubernetes/diycluster.md - - Load Balancer: kubernetes/loadbalancer.md - - Snapshots: kubernetes/snapshots.md - - Helm: kubernetes/helm.md - - Traefik: kubernetes/traefik.md - # - Chef's Favorites: - # - Istio: recipes/kubernetes/istio.md + - Introduction: kubernetes/index.md + - Cluster: + - kubernetes/cluster/index.md + - Digital Ocean: kubernetes/cluster/digitalocean.md + # - Bare Metal: kubernetes/cluster/baremetal.md + # - Home Lab: kubernetes/cluster/baremetal.md + - k3s: kubernetes/cluster/k3s.md + # - The Hard Way: kubernetes/cluster/the-hard-way.md + - Deployment: + - kubernetes/deployment/index.md + # - YAML: kubernetes/wip.md + # - Helm: kubernetes/wip.md + # - GitHub Actions: kubernetes/wip.md + - Flux: + - Install: kubernetes/deployment/flux/install.md + - Design: kubernetes/deployment/flux/design.md + - Operate: kubernetes/deployment/flux/operate.md + - Essentials: + - Load Balancer: + - kubernetes/loadbalancer/index.md + - k3s: kubernetes/loadbalancer/k3s.md + - MetalLB: + - kubernetes/loadbalancer/metallb/index.md + - pfSense: kubernetes/loadbalancer/metallb/pfsense.md + - Sealed Secrets: kubernetes/sealed-secrets.md + - External DNS: kubernetes/external-dns.md + - SSL Certificates: + - kubernetes/ssl-certificates/index.md + - Cert-Manager: kubernetes/ssl-certificates/cert-manager.md + - LetsEncrypt Issuers: kubernetes/ssl-certificates/letsencrypt-issuers.md + - Wildcard Certificate: kubernetes/ssl-certificates/letsencrypt-wildcard.md + - Secret Replicator: kubernetes/ssl-certificates/secret-replicator.md + - Ingress: + - kubernetes/ingress/index.md + - Traefik: + - kubernetes/ingress/traefik/index.md + # - Dashboard: kubernetes/ingress/traefik/dashboard.md + - Nginx: kubernetes/ingress/nginx.md + - Persistence: + - kubernetes/persistence/index.md + - Local Path Provisioner: kubernetes/persistence/local-path-provisioner.md + - TopoLVM: kubernetes/persistence/topolvm.md + # - Rook Ceph: kubernetes/persistence/rook-ceph.md + # - OpenEBS: kubernetes/persistence/openebs.md + # - LongHorn: kubernetes/persistence/longhorn.md + # - Backup: + # - kubernetes/backup/index.md + # - kubernetes/wip.md + + # - Monitoring: + # - kubernetes/monitoring/index.md + # - Prometheus: kubernetes/wip.md + # - Grafana: kubernetes/wip.md + # - AlertManager: kubernetes/wip.md + # - Goldilocks: kubernetes/wip.md + # - Reloader: kubernetes/wip.md + # - Dashboard: kubernetes/wip.md + # - Kured: kubernetes/wip.md + # - KeyCloak: kubernetes/wip.md + # - Recipes: + # - GitHub Actions Runners: kubernetes/wip.md + # - Cilium: kubernetes/wip.md + # - Concourse: kubernetes/wip.md + # - Flagger: kubernetes/wip.md + # - Flagger: kubernetes/wip.md + # - Flux: recipes/kubernetes/wip.md + # - FoundationDB: kubernetes/wip.md + # - Istio: recipes/kubernetes/wip.md + # - Jaeger: kubernetes/wip.md + # - Kiali: kubernetes/wip.md + # - Minio: kubernetes/wip.md + # - NGINX Ingress: kubernetes/wip.md + # - Polaris: kubernetes/wip.md + # - Portainer: kubernetes/wip.md + # - Prometheus: kubernetes/wip.md + # - Traefik: kubernetes/wip.md + # - Vault: kubernetes/wip.md + # - Webook Receiver: kubernetes/wip.md - ๐Ÿš€ Get Premix!: - premix/index.md - Ansible: @@ -185,11 +254,11 @@ theme: - navigation.tabs.sticky - navigation.instant - navigation.sections - - navigation.tracking - navigation.indexes - navigation.top - search.suggest - search.share + - content.code.annotate icon: repo: 'fontawesome/brands/github' palette: @@ -297,7 +366,11 @@ markdown_extensions: repo: geek-cookbook - pymdownx.mark - pymdownx.smartsymbols - - pymdownx.superfences + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format - pymdownx.tasklist: custom_checkbox: true - pymdownx.tilde diff --git a/overrides/main.html b/overrides/main.html index c7f5f0b..3fabc07 100644 --- a/overrides/main.html +++ b/overrides/main.html @@ -21,7 +21,7 @@ {% endblock %} {% block analytics %} - + {% endblock %} diff --git a/requirements.txt b/requirements.txt index 054d410..09f4b18 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ pymdown-extensions>=6.0 Markdown>=3.0.1 mkdocs-minify-plugin>=0.2 mkdocs-autolinks-plugin>=0.2.0 -mkdocs-htmlproofer-plugin>=0.0.3 +# mkdocs-htmlproofer-plugin>=0.0.3 mkdocs-git-revision-date-localized-plugin>=0.4.8 mkdocs-macros-plugin -mkdocs-material +mkdocs-material \ No newline at end of file diff --git a/scripts/recipe-footer.md b/scripts/recipe-footer.md index 4b04870..119edb8 100644 --- a/scripts/recipe-footer.md +++ b/scripts/recipe-footer.md @@ -9,7 +9,7 @@ Did you receive excellent service? Want to make your waiter happy? (_..and suppo ## Flirt with waiter (subscribe) ๐Ÿ’Œ -Want to know now when this recipe gets updated, or when future recipes are added? Subscribe to the [RSS feed](https://mastodon.social/@geekcookbook_changes.atom), or leave your email address below, and we'll keep you updated. (*double-opt-in, no monkey business, no spam) +Want to know now when this recipe gets updated, or when future recipes are added? Subscribe to the [RSS feed](https://mastodon.social/@geekcookbook_changes.atom), or leave your email address below, and we'll keep you updated. diff --git a/scripts/serve-insiders.sh b/scripts/serve-insiders.sh index a322855..b50c3e7 100755 --- a/scripts/serve-insiders.sh +++ b/scripts/serve-insiders.sh @@ -1,3 +1,4 @@ #!/bin/bash -docker build --build-arg FROM_SOURCE=ghcr.io/geek-cookbook/mkdocs-material-insiders . -t funkypenguin/mkdocs-material +# docker pull ghcr.io/geek-cookbook/mkdocs-material-insiders +docker build --build-arg FROM_SOURCE=funkypenguin/mkdocs-material-insiders . -t funkypenguin/mkdocs-material docker run --rm --name mkdocs-material -it -p 8123:8000 -v ${PWD}:/docs funkypenguin/mkdocs-material serve -f mkdocs-insiders.yml --dev-addr 0.0.0.0:8000 --dirtyreload
  • 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 literal 0 HcmV?d00001 diff --git a/manuscript/images/metallb-pfsense-04.png b/manuscript/images/metallb-pfsense-04.png new file mode 100644 index 0000000000000000000000000000000000000000..47d37ee0aba6cc15a13af8e7e85a560361403749 GIT binary patch literal 131355 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