{"id":1896,"date":"2025-11-15T23:30:04","date_gmt":"2025-11-15T20:30:04","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/3-vps-ile-k3s-yuksek-erisilebilirlik-kumesi-traefik-cert%e2%80%91manager-ve-longhorn-ile-uretime-hazir-kurulum\/"},"modified":"2025-11-15T23:30:04","modified_gmt":"2025-11-15T20:30:04","slug":"3-vps-ile-k3s-yuksek-erisilebilirlik-kumesi-traefik-cert%e2%80%91manager-ve-longhorn-ile-uretime-hazir-kurulum","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/3-vps-ile-k3s-yuksek-erisilebilirlik-kumesi-traefik-cert%e2%80%91manager-ve-longhorn-ile-uretime-hazir-kurulum\/","title":{"rendered":"3 VPS ile K3s Y\u00fcksek Eri\u015filebilirlik K\u00fcmesi: Traefik, cert\u2011manager ve Longhorn ile \u00dcretime Haz\u0131r Kurulum"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Bir_Aksamustu_Kesintisi_ve_3_VPSte_K3se_Giden_Yol\"><span class=\"toc_number toc_depth_1\">1<\/span> Bir Ak\u015fam\u00fcst\u00fc Kesintisi ve 3 VPS\u2019te K3s\u2019e Giden Yol<\/a><\/li><li><a href=\"#Neden_3_VPS_ve_K3s_Ne_Zaman_Mantikli\"><span class=\"toc_number toc_depth_1\">2<\/span> Neden 3 VPS ve K3s? Ne Zaman Mant\u0131kl\u0131?<\/a><\/li><li><a href=\"#Topoloji_IP_Plani_ve_Hazirlik_Kumenin_Gonul_Rahatligi\"><span class=\"toc_number toc_depth_1\">3<\/span> Topoloji, IP Plan\u0131 ve Haz\u0131rl\u0131k: K\u00fcmenin G\u00f6n\u00fcl Rahatl\u0131\u011f\u0131<\/a><ul><li><a href=\"#Uc_Dugum_Net_Isimler\"><span class=\"toc_number toc_depth_2\">3.1<\/span> \u00dc\u00e7 D\u00fc\u011f\u00fcm, Net \u0130simler<\/a><\/li><li><a href=\"#Guvenlik_Icin_Kucuk_Ama_Kiymetli_Dokunuslar\"><span class=\"toc_number toc_depth_2\">3.2<\/span> G\u00fcvenlik \u0130\u00e7in K\u00fc\u00e7\u00fck Ama K\u0131ymetli Dokunu\u015flar<\/a><\/li><li><a href=\"#On_Kosullarin_Incelikleri\"><span class=\"toc_number toc_depth_2\">3.3<\/span> \u00d6n Ko\u015fullar\u0131n \u0130ncelikleri<\/a><\/li><\/ul><\/li><li><a href=\"#K3s_Yuksek_Erisilebilirlik_Uc_Dugumle_Saglam_Baslangic\"><span class=\"toc_number toc_depth_1\">4<\/span> K3s Y\u00fcksek Eri\u015filebilirlik: \u00dc\u00e7 D\u00fc\u011f\u00fcmle Sa\u011flam Ba\u015flang\u0131\u00e7<\/a><ul><li><a href=\"#Kume_Kurulumu_Mantigi\"><span class=\"toc_number toc_depth_2\">4.1<\/span> K\u00fcme Kurulumu Mant\u0131\u011f\u0131<\/a><\/li><li><a href=\"#K3s_Konfigurasyonu_configyaml\"><span class=\"toc_number toc_depth_2\">4.2<\/span> K3s Konfig\u00fcrasyonu (config.yaml)<\/a><\/li><li><a href=\"#Ilk_Dugumu_Baslatma_cluster-init\"><span class=\"toc_number toc_depth_2\">4.3<\/span> \u0130lk D\u00fc\u011f\u00fcm\u00fc Ba\u015flatma (cluster-init)<\/a><\/li><li><a href=\"#Diger_Iki_Dugumu_Kureye_Katma\"><span class=\"toc_number toc_depth_2\">4.4<\/span> Di\u011fer \u0130ki D\u00fc\u011f\u00fcm\u00fc K\u00fcreye Katma<\/a><\/li><\/ul><\/li><li><a href=\"#Traefik_ile_Giris_Trafigini_Tatli_Tatli_Yonetmek\"><span class=\"toc_number toc_depth_1\">5<\/span> Traefik ile Giri\u015f Trafi\u011fini Tatl\u0131 Tatl\u0131 Y\u00f6netmek<\/a><ul><li><a href=\"#Neden_Helm_ile_Kuruyoruz\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Neden Helm ile Kuruyoruz?<\/a><\/li><li><a href=\"#Traefik_Kurulumu\"><span class=\"toc_number toc_depth_2\">5.2<\/span> Traefik Kurulumu<\/a><\/li><\/ul><\/li><li><a href=\"#certmanager_ile_Otomatik_SSL_Unut_Yenilensin\"><span class=\"toc_number toc_depth_1\">6<\/span> cert\u2011manager ile Otomatik SSL: Unut, Yenilensin<\/a><ul><li><a href=\"#Kurulum_ve_ClusterIssuer\"><span class=\"toc_number toc_depth_2\">6.1<\/span> Kurulum ve ClusterIssuer<\/a><\/li><\/ul><\/li><li><a href=\"#Longhorn_ile_Kalici_Depolama_Diske_Guven_Omuzlarin_Rahat\"><span class=\"toc_number toc_depth_1\">7<\/span> Longhorn ile Kal\u0131c\u0131 Depolama: Diske G\u00fcven, Omuzlar\u0131n Rahat<\/a><ul><li><a href=\"#Neden_Longhorn\"><span class=\"toc_number toc_depth_2\">7.1<\/span> Neden Longhorn?<\/a><\/li><li><a href=\"#Kurulum\"><span class=\"toc_number toc_depth_2\">7.2<\/span> Kurulum<\/a><\/li><\/ul><\/li><li><a href=\"#DNS_Giris_ve_Ilk_Uygulama_Merhaba_Demenin_Tam_Vakti\"><span class=\"toc_number toc_depth_1\">8<\/span> DNS, Giri\u015f ve \u0130lk Uygulama: \u201cMerhaba\u201d Demenin Tam Vakti<\/a><ul><li><a href=\"#DNSi_Nasil_Basit_Tutmali\"><span class=\"toc_number toc_depth_2\">8.1<\/span> DNS\u2019i Nas\u0131l Basit Tutmal\u0131?<\/a><\/li><li><a href=\"#Basit_Bir_Uygulama_ve_Ingress\"><span class=\"toc_number toc_depth_2\">8.2<\/span> Basit Bir Uygulama ve Ingress<\/a><\/li><\/ul><\/li><li><a href=\"#Guncellemeler_Yedekler_ve_Kucuk_Bakim_Rituelleri\"><span class=\"toc_number toc_depth_1\">9<\/span> G\u00fcncellemeler, Yedekler ve K\u00fc\u00e7\u00fck Bak\u0131m Rit\u00fcelleri<\/a><ul><li><a href=\"#K3si_Guncellemek\"><span class=\"toc_number toc_depth_2\">9.1<\/span> K3s\u2019i G\u00fcncellemek<\/a><\/li><li><a href=\"#etcd_Anlik_Goruntuler_Snapshot\"><span class=\"toc_number toc_depth_2\">9.2<\/span> etcd Anl\u0131k G\u00f6r\u00fcnt\u00fcler (Snapshot)<\/a><\/li><li><a href=\"#Longhorn_Yedekleri\"><span class=\"toc_number toc_depth_2\">9.3<\/span> Longhorn Yedekleri<\/a><\/li><li><a href=\"#Giris_Trafigi_ve_Sertifika_Yenileme\"><span class=\"toc_number toc_depth_2\">9.4<\/span> Giri\u015f Trafi\u011fi ve Sertifika Yenileme<\/a><\/li><\/ul><\/li><li><a href=\"#Sorun_Giderme_Nereden_Tutsam_Dediginizde\"><span class=\"toc_number toc_depth_1\">10<\/span> Sorun Giderme: \u201cNereden Tutsam?\u201d Dedi\u011finizde<\/a><ul><li><a href=\"#DNS_mi_Ingress_mi_Sertifika_mi\"><span class=\"toc_number toc_depth_2\">10.1<\/span> DNS mi, Ingress mi, Sertifika m\u0131?<\/a><\/li><li><a href=\"#Podlar_Niye_Donmuyor\"><span class=\"toc_number toc_depth_2\">10.2<\/span> Pod\u2019lar Niye D\u00f6nm\u00fcyor?<\/a><\/li><li><a href=\"#Traefik_Kurali_Calismiyor\"><span class=\"toc_number toc_depth_2\">10.3<\/span> Traefik Kural\u0131 \u00c7al\u0131\u015fm\u0131yor<\/a><\/li><\/ul><\/li><li><a href=\"#Kapanis_Uc_Dugum_Sakin_Uykular\"><span class=\"toc_number toc_depth_1\">11<\/span> Kapan\u0131\u015f: \u00dc\u00e7 D\u00fc\u011f\u00fcm, Sakin Uykular<\/a><\/li><\/ul><\/div>\n<h2 id=\"section-1\"><span id=\"Bir_Aksamustu_Kesintisi_ve_3_VPSte_K3se_Giden_Yol\">Bir Ak\u015fam\u00fcst\u00fc Kesintisi ve 3 <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a>\u2019te K3s\u2019e Giden Yol<\/span><\/h2>\n<p>Hi\u00e7 ak\u015fam\u00fcst\u00fc sakin bir anda, tek bir sunucuda ko\u015fan uygulaman\u0131z\u0131n bir anda sessizli\u011fe g\u00f6m\u00fcld\u00fc\u011f\u00fcn\u00fc g\u00f6rd\u00fcn\u00fcz m\u00fc? Ben g\u00f6rd\u00fcm. Bir pazar ak\u015fam\u0131yd\u0131, yava\u015f bir trafik, \u00e7ay\u0131m duman\u0131 \u00fcst\u00fcnde\u2026 Derken bir mesaj: \u201cSite a\u00e7\u0131lm\u0131yor.\u201d Tek VPS, tek \u015fans. Disk I\/O z\u0131plam\u0131\u015f, servisler birbirine s\u0131k\u0131\u015fm\u0131\u015f. O an tekrar anlad\u0131m; konfor alan\u0131, tek d\u00fc\u011f\u00fcmde \u00e7al\u0131\u015f\u0131rken hissedilen o tatl\u0131 rahatl\u0131k, en olmad\u0131k anda insan\u0131 ters k\u00f6\u015fe yap\u0131yor.<\/p>\n<p>\u0130\u015fte o ak\u015fam, \u201cBunu kal\u0131c\u0131 olarak nas\u0131l d\u00fczeltirim?\u201d diye d\u00fc\u015f\u00fcnd\u00fcm. \u201cK\u00fc\u00e7\u00fck, ak\u0131ll\u0131, kolay y\u00f6netilebilir bir k\u00fcme\u2026 ama masra\u011f\u0131 u\u00e7urmayacak ve kurmas\u0131 kabus olmayacak bir \u015fey.\u201d Derken yine ayn\u0131 yere geldim: 3 VPS ve K3s. Basitlik seviyesi y\u00fcksek, ayaklar\u0131 yere basan bir yakla\u015f\u0131mla; \u00f6n\u00fcne <strong>Traefik<\/strong>, sertifikay\u0131 <strong>cert\u2011manager<\/strong>, kal\u0131c\u0131 depolamay\u0131 da <strong>Longhorn<\/strong> ile \u00e7\u00f6zd\u00fcm. Bu yaz\u0131da o kurulumun, \u00fcretime haz\u0131r hale geli\u015finin hik\u00e2yesini anlataca\u011f\u0131m. Hem de ad\u0131m ad\u0131m, \u201cmesela \u015f\u00f6yle d\u00fc\u015f\u00fcn\u00fcn\u201d diye diye, g\u00f6z\u00fcn\u00fczde b\u00fcy\u00fctmeden.<\/p>\n<p>\u00d6nce genel resmi \u00e7izece\u011fiz, sonra haz\u0131rlanaca\u011f\u0131z, ard\u0131ndan K3s HA k\u00fcmesini kuraca\u011f\u0131z. Traefik\u2019le trafi\u011fi y\u00f6netip cert\u2011manager ile SSL\u2019leri otomati\u011fe ba\u011flayaca\u011f\u0131z. Longhorn\u2019la da veriyi g\u00fcvene alaca\u011f\u0131z. En sonda da ufak bir uygulama yay\u0131mlay\u0131p, \u201cTamam, bu i\u015f oldu\u201d diyece\u011fiz. Haz\u0131rsan\u0131z ba\u015flayal\u0131m.<\/p>\n<h2 id=\"section-2\"><span id=\"Neden_3_VPS_ve_K3s_Ne_Zaman_Mantikli\">Neden 3 VPS ve K3s? Ne Zaman Mant\u0131kl\u0131?<\/span><\/h2>\n<p>\u00dc\u00e7 d\u00fc\u011f\u00fcm\u00fcn b\u00fcy\u00fcs\u00fc, karar alabilmesi. Yani \u00e7o\u011funluk. Bir d\u00fc\u011f\u00fcm giderse, di\u011fer ikisi \u201ctamam, biz buraday\u0131z\u201d diyerek k\u00fcmeyi \u00e7al\u0131\u015f\u0131r tutuyor. Bu, tek ba\u015f\u0131n\u0131za bir da\u011fa \u00e7\u0131kmak yerine k\u00fc\u00e7\u00fck ama uyumlu bir ekiple y\u00fcr\u00fcmek gibi. K3s de bu y\u00fcr\u00fcy\u00fc\u015fte hafif bir s\u0131rt \u00e7antas\u0131. Klasik Kubernetes\u2019in b\u00fcy\u00fck orkestras\u0131 yerine, daha sade ama uyumlu bir topluluk gibi d\u00fc\u015f\u00fcnebilirsiniz. Yeterince g\u00fc\u00e7l\u00fc, ama elinizin alt\u0131nda.<\/p>\n<p>Ne zaman mant\u0131kl\u0131? Trafi\u011finiz \u00e7ok u\u00e7uk de\u011filse, tek d\u00fc\u011f\u00fcm\u00fcn s\u0131n\u0131rlar\u0131nda s\u00fcrekli \u00e7izgiyi zorlam\u0131yorsan\u0131z ve \u201cUygulamam bir \u015fey olursa ayakta kalmaya devam etsin\u201d diyorsan\u0131z, tam zaman\u0131. 3 VPS kurulumunda maliyetler g\u00f6rece makul kal\u0131r, y\u00f6netilebilirlik bozulmaz, i\u015fler ray\u0131nda ilerler. \u00d6zellikle k\u00fc\u00e7\u00fck SaaS\u2019ler, ajans i\u00e7i projeler, yan uygulamalar ve MVP\u2019ler i\u00e7in birebir.<\/p>\n<p>Ben genelde \u015f\u00f6yle hayal ediyorum: \u00dc\u00e7 k\u00fc\u00e7\u00fck apartman dairesi. Birinde mutfak, \u00f6b\u00fcr\u00fcnde salon, bir di\u011ferinde yatak odas\u0131. Bir daireye bir \u015fey olursa, di\u011ferlerinde hayat akmaya devam eder. K3s de bunun teknik kar\u015f\u0131l\u0131\u011f\u0131 gibi; k\u00fc\u00e7\u00fck ama ak\u0131ll\u0131 bir da\u011f\u0131l\u0131m.<\/p>\n<h2 id=\"section-3\"><span id=\"Topoloji_IP_Plani_ve_Hazirlik_Kumenin_Gonul_Rahatligi\">Topoloji, IP Plan\u0131 ve Haz\u0131rl\u0131k: K\u00fcmenin G\u00f6n\u00fcl Rahatl\u0131\u011f\u0131<\/span><\/h2>\n<h3><span id=\"Uc_Dugum_Net_Isimler\">\u00dc\u00e7 D\u00fc\u011f\u00fcm, Net \u0130simler<\/span><\/h3>\n<p>\u00d6nce kafam\u0131zda netle\u015ftirelim: \u00fc\u00e7 VPS\u2019imiz var, adlar\u0131 ve IP\u2019leri belli. \u00d6rne\u011fin vps\u20111, vps\u20112, vps\u20113. Hepsine ayn\u0131 i\u015fletim sistemi (Ubuntu 22.04 veya 24.04 gayet iyi), ayn\u0131 temel ayarlar, ayn\u0131 g\u00fcvenlik politikalar\u0131. SSH anahtarlar\u0131 y\u00fckl\u00fc, g\u00fcncellemeler yap\u0131lm\u0131\u015f, saat senkron, swap tercihi net. Hostname\u2019ler k\u0131sa ve anlaml\u0131; DNS kay\u0131tlar\u0131 d\u00fczg\u00fcn.<\/p>\n<h3><span id=\"Guvenlik_Icin_Kucuk_Ama_Kiymetli_Dokunuslar\">G\u00fcvenlik \u0130\u00e7in K\u00fc\u00e7\u00fck Ama K\u0131ymetli Dokunu\u015flar<\/span><\/h3>\n<p>Kap\u0131lar\u0131 a\u00e7\u0131k b\u0131rakmak ho\u015f de\u011fil. G\u00fcvenlik duvar\u0131n\u0131 mant\u0131kl\u0131 kurallarla kapatmak, sadece i\u015fimiz olan portlar\u0131 a\u00e7mak, basit parola yerine anahtar kullanmak, bazen en kritik fark\u0131 yarat\u0131r. E\u011fer nereden ba\u015flayaca\u011f\u0131m derseniz, <a href=\"https:\/\/www.dchost.com\/blog\/vps-sunucu-guvenligi-nasil-saglanir-kapiyi-acik-birakmadan-yasamanin-sirri\/\">VPS sunucular\u0131n\u0131 g\u00fcvenli tutmak i\u00e7in pratik ipu\u00e7lar\u0131n\u0131<\/a> bir kahve molas\u0131nda g\u00f6zden ge\u00e7irmek iyi gelir.<\/p>\n<h3><span id=\"On_Kosullarin_Incelikleri\">\u00d6n Ko\u015fullar\u0131n \u0130ncelikleri<\/span><\/h3>\n<p>\u0130\u015fe baz\u0131 ufak ama \u00f6nemli paketleri kurarak ba\u015flayabilirsiniz. Longhorn i\u00e7in iSCSI istemcisi ve NFS ara\u00e7lar\u0131 gerekebilir. Sunucularda \u015fu kurulumlar elinizi rahatlat\u0131r:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt-get update\nsudo apt-get install -y open-iscsi nfs-common jq curl<\/code><\/pre>\n<p>A\u011fda 80 ve 443 portlar\u0131na gelen trafi\u011fin her d\u00fc\u011f\u00fcmden Traefik\u2019e ula\u015fabildi\u011finden emin olun. \u0130\u00e7 a\u011fda ise kube bile\u015fenlerinin konu\u015faca\u011f\u0131 6443 gibi portlar a\u00e7\u0131k olmal\u0131. Detaylara bo\u011fulmayaca\u011f\u0131z; temel prensip \u015fu: uygulaman\u0131z\u0131n d\u0131\u015far\u0131dan eri\u015fti\u011fi portlar sade ve belirgin olsun, i\u00e7eride ise d\u00fc\u011f\u00fcmler birbirini rahat\u00e7a g\u00f6rs\u00fcn.<\/p>\n<h2 id=\"section-4\"><span id=\"K3s_Yuksek_Erisilebilirlik_Uc_Dugumle_Saglam_Baslangic\">K3s Y\u00fcksek Eri\u015filebilirlik: \u00dc\u00e7 D\u00fc\u011f\u00fcmle Sa\u011flam Ba\u015flang\u0131\u00e7<\/span><\/h2>\n<h3><span id=\"Kume_Kurulumu_Mantigi\">K\u00fcme Kurulumu Mant\u0131\u011f\u0131<\/span><\/h3>\n<p>K3s, yerle\u015fik bir hafif veritaban\u0131 yerine art\u0131k g\u00f6m\u00fcl\u00fc etcd ile HA (y\u00fcksek eri\u015filebilirlik) kurmaya izin veriyor. \u0130lk d\u00fc\u011f\u00fcm k\u00fcmenin \u00e7ekirde\u011fini ba\u015flat\u0131yor, di\u011fer iki d\u00fc\u011f\u00fcm ona kat\u0131l\u0131yor. Tek bir ortak belirte\u00e7 (token) kullan\u0131yorsunuz. Mant\u0131k basit: ilk d\u00fc\u011f\u00fcm\u00fc \u201ccluster\u2011init\u201d ile aya\u011fa kald\u0131r, kalanlar\u0131 \u201cserver\u201d modunda ba\u011fla.<\/p>\n<h3><span id=\"K3s_Konfigurasyonu_configyaml\">K3s Konfig\u00fcrasyonu (config.yaml)<\/span><\/h3>\n<p>D\u00fc\u011f\u00fcmlerde K3s i\u00e7in ayn\u0131 dosya yoluyla temel ayarlar\u0131 saklayaca\u011f\u0131z: \/etc\/rancher\/k3s\/config.yaml. \u0130lk d\u00fc\u011f\u00fcmdeki \u00f6rnek ayar \u015f\u00f6yle olabilir:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo mkdir -p \/etc\/rancher\/k3s\nsudo tee \/etc\/rancher\/k3s\/config.yaml &gt;\/dev\/null &lt;&lt;'YAML'\nwrite-kubeconfig-mode: '644'\nnode-name: 'vps-1'\nnode-ip: 10.0.0.11\nnode-external-ip: 203.0.113.11\ndisable:\n  - traefik\nkube-apiserver-arg:\n  - 'service-node-port-range=80-32767'\nYAML<\/code><\/pre>\n<p>Di\u011fer d\u00fc\u011f\u00fcmlerde node\u2011name, node\u2011ip ve node\u2011external\u2011ip de\u011ferlerini o d\u00fc\u011f\u00fcmlere g\u00f6re de\u011fi\u015ftirin. Traefik\u2019i birazdan Helm ile kendimiz kuraca\u011f\u0131m\u0131z i\u00e7in burada devre d\u0131\u015f\u0131 b\u0131rakt\u0131k.<\/p>\n<h3><span id=\"Ilk_Dugumu_Baslatma_cluster-init\">\u0130lk D\u00fc\u011f\u00fcm\u00fc Ba\u015flatma (cluster-init)<\/span><\/h3>\n<p>\u0130lk d\u00fc\u011f\u00fcmde bir belirte\u00e7 se\u00e7in. \u00c7ok gizli tutun; di\u011fer d\u00fc\u011f\u00fcmler buna ihtiya\u00e7 duyacak.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">export K3S_TOKEN='uzun-ve-gizli-bir-sey'\ncurl -sfL https:\/\/get.k3s.io | INSTALL_K3S_EXEC='server --cluster-init' sh -<\/code><\/pre>\n<p>Birka\u00e7 dakika bekleyin. K3s sunucu aya\u011fa kalk\u0131nca kubeconfig dosyas\u0131 \/etc\/rancher\/k3s\/k3s.yaml alt\u0131nda haz\u0131r olur. Kendi bilgisayar\u0131n\u0131za kopyalay\u0131p kubectl ile ba\u011flanabilirsiniz.<\/p>\n<h3><span id=\"Diger_Iki_Dugumu_Kureye_Katma\">Di\u011fer \u0130ki D\u00fc\u011f\u00fcm\u00fc K\u00fcreye Katma<\/span><\/h3>\n<p>Bu sefer \u201cserver\u201d modunda, ilk d\u00fc\u011f\u00fcme i\u015faret ederek ba\u011flan\u0131yoruz. K3S_URL olarak ilk d\u00fc\u011f\u00fcm\u00fcn API adresini verin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">export K3S_TOKEN='uzun-ve-gizli-bir-sey'\nexport K3S_URL='https:\/\/203.0.113.11:6443'\ncurl -sfL https:\/\/get.k3s.io | INSTALL_K3S_EXEC='server' sh -<\/code><\/pre>\n<p>Ayn\u0131 i\u015flemi \u00fc\u00e7\u00fcnc\u00fc d\u00fc\u011f\u00fcmde de yap\u0131n. Birka\u00e7 dakika sonra d\u00fc\u011f\u00fcmler birbirini g\u00f6rmeye ba\u015flar. Durumu kontrol etmek i\u00e7in:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo k3s kubectl get nodes -o wide<\/code><\/pre>\n<p>E\u011fer kendi bilgisayar\u0131n\u0131zdan ba\u011flanacaksan\u0131z, ilk d\u00fc\u011f\u00fcmdeki kubeconfig dosyas\u0131n\u0131 ~\/.kube\/config i\u00e7ine kopyalay\u0131p sunucu IP\u2019lerini d\u0131\u015f IP\u2019lerle g\u00fcncelleyin. Sonra \u201ckubectl get nodes\u201d dedi\u011finizde \u00fc\u00e7 d\u00fc\u011f\u00fcm\u00fc g\u00f6rmeniz gerekir.<\/p>\n<h2 id=\"section-5\"><span id=\"Traefik_ile_Giris_Trafigini_Tatli_Tatli_Yonetmek\">Traefik ile Giri\u015f Trafi\u011fini Tatl\u0131 Tatl\u0131 Y\u00f6netmek<\/span><\/h2>\n<h3><span id=\"Neden_Helm_ile_Kuruyoruz\">Neden Helm ile Kuruyoruz?<\/span><\/h3>\n<p>K3s, Traefik\u2019i varsay\u0131lan olarak getirebilir ama biz ayarlar\u0131 tam kontrol etmek istiyoruz. VPS ortam\u0131nda bir bulut y\u00fck dengeleyici olmad\u0131\u011f\u0131 i\u00e7in Traefik\u2019i DaemonSet olarak, her d\u00fc\u011f\u00fcmde 80 ve 443 portlar\u0131n\u0131 dinleyecek \u015fekilde hostPort ile kuraca\u011f\u0131z. B\u00f6ylece hangi d\u00fc\u011f\u00fcme isabet ederse etsin, istek i\u00e7eri girer.<\/p>\n<h3><span id=\"Traefik_Kurulumu\">Traefik Kurulumu<\/span><\/h3>\n<p>\u00d6nce bir values dosyas\u0131 olu\u015ftural\u0131m. Bu dosyada DaemonSet modunu ve hostPort\u2019lar\u0131 a\u00e7aca\u011f\u0131z:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cat &gt; traefik-values.yaml &lt;&lt;'YAML'\ndeployment:\n  kind: DaemonSet\nports:\n  web:\n    port: 80\n    hostPort: 80\n  websecure:\n    port: 443\n    hostPort: 443\ningressClass:\n  enabled: true\n  isDefaultClass: true\nlogs:\n  general:\n    level: INFO\n  access:\n    enabled: true\nYAML<\/code><\/pre>\n<p>Traefik\u2019i kuruyoruz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">helm repo add traefik https:\/\/traefik.github.io\/charts\nhelm repo update\nhelm upgrade --install traefik traefik\/traefik \n  --namespace kube-system \n  --create-namespace \n  -f traefik-values.yaml<\/code><\/pre>\n<p>Traefik haz\u0131r olunca, standart Ingress kaynaklar\u0131n\u0131 kullanabiliriz. Daha merakl\u0131s\u0131 i\u00e7in <a href=\"https:\/\/doc.traefik.io\/traefik\/routing\/providers\/kubernetes-ingress\/\" rel=\"nofollow noopener\" target=\"_blank\">Traefik&#8217;in Kubernetes Ingress belgeleri<\/a> sade ve anla\u015f\u0131l\u0131r.<\/p>\n<h2 id=\"section-6\"><span id=\"certmanager_ile_Otomatik_SSL_Unut_Yenilensin\">cert\u2011manager ile Otomatik SSL: Unut, Yenilensin<\/span><\/h2>\n<h3><span id=\"Kurulum_ve_ClusterIssuer\">Kurulum ve ClusterIssuer<\/span><\/h3>\n<p>Sertifikalar\u0131 elle almak, sonra yenilemeyi hat\u0131rlamak, prod ortamda s\u00fcrpriz ya\u015fat\u0131r. cert\u2011manager bu i\u015fi tertemiz \u00e7\u00f6z\u00fcyor. Helm ile CRD\u2019leri de kurarak ba\u015fl\u0131yoruz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">helm repo add jetstack https:\/\/charts.jetstack.io\nhelm repo update\nhelm upgrade --install cert-manager jetstack\/cert-manager \n  --namespace cert-manager \n  --create-namespace \n  --set installCRDs=true<\/code><\/pre>\n<p>Ard\u0131ndan \u00fcretim ve test (staging) i\u00e7in iki tane ClusterIssuer tan\u0131mlayal\u0131m. HTTP\u201101 kullanaca\u011f\u0131z, \u00e7\u00fcnk\u00fc Traefik 80 portunu dinliyor:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cat &gt; cluster-issuers.yaml &lt;&lt;'YAML'\napiVersion: cert-manager.io\/v1\nkind: ClusterIssuer\nmetadata:\n  name: letsencrypt-staging\nspec:\n  acme:\n    email: admin@example.com\n    server: 'https:\/\/acme-staging-v02.api.letsencrypt.org\/directory'\n    privateKeySecretRef:\n      name: letsencrypt-staging-key\n    solvers:\n      - http01:\n          ingress:\n            class: traefik\n---\napiVersion: cert-manager.io\/v1\nkind: ClusterIssuer\nmetadata:\n  name: letsencrypt-prod\nspec:\n  acme:\n    email: admin@example.com\n    server: 'https:\/\/acme-v02.api.letsencrypt.org\/directory'\n    privateKeySecretRef:\n      name: letsencrypt-prod-key\n    solvers:\n      - http01:\n          ingress:\n            class: traefik\nYAML\nkubectl apply -f cluster-issuers.yaml<\/code><\/pre>\n<p>DNS taraf\u0131 da ayarl\u0131ysa, k\u0131sa s\u00fcre i\u00e7inde sertifikalar otomatik gelecektir. E\u011fer daha karma\u015f\u0131k bir yap\u0131da, CA yedeklemesi yapmak isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/acme-otomasyonunda-yedekli-ca-nasil-kurulur-acme-sh-ile-lets-encrypt-%e2%86%92-zerossl-fallback-oran-limitlerine-karsi-guvenli-olcekleme\/\">ACME otomasyonunda yedekli CA kurarak oran limitlerine kar\u015f\u0131 dayan\u0131kl\u0131l\u0131k<\/a> g\u00fczel bir rehber niteli\u011finde. Ayr\u0131ca anlat\u0131m ve \u00f6rnekler i\u00e7in <a href=\"https:\/\/cert-manager.io\/docs\/\" rel=\"nofollow noopener\" target=\"_blank\">cert\u2011manager belgeleri<\/a> elinizin alt\u0131nda bulunsun.<\/p>\n<h2 id=\"section-7\"><span id=\"Longhorn_ile_Kalici_Depolama_Diske_Guven_Omuzlarin_Rahat\">Longhorn ile Kal\u0131c\u0131 Depolama: Diske G\u00fcven, Omuzlar\u0131n Rahat<\/span><\/h2>\n<h3><span id=\"Neden_Longhorn\">Neden Longhorn?<\/span><\/h3>\n<p>Uygulamalar\u0131n\u0131z veriyi dosyaya yazd\u0131\u011f\u0131nda, Pod yeniden ba\u015flasa bile o veri bir yerde sa\u011flam dursun istersiniz. Longhorn, tam bu i\u015fi kolayla\u015ft\u0131r\u0131yor. D\u00fc\u011f\u00fcmler aras\u0131nda replike ederek bir disk sorununun t\u00fcm uygulamay\u0131 d\u00fc\u015f\u00fcrmesini engelliyor. K\u00fc\u00e7\u00fck k\u00fcmelerde kurulumu ve y\u00f6netimi \u015fa\u015f\u0131rt\u0131c\u0131 derecede rahat.<\/p>\n<h3><span id=\"Kurulum\">Kurulum<\/span><\/h3>\n<p>\u00d6n ko\u015ful paketlerini kurdu\u011funuzu varsayal\u0131m. Helm ile Longhorn\u2019u kural\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">helm repo add longhorn https:\/\/charts.longhorn.io\nhelm repo update\nhelm upgrade --install longhorn longhorn\/longhorn \n  --namespace longhorn-system \n  --create-namespace<\/code><\/pre>\n<p>Kurulum tamamlan\u0131nca, longhorn-system i\u00e7inde Pod\u2019lar \u201cRunning\u201d olana kadar bekleyin. Varsay\u0131lan StorageClass olarak Longhorn\u2019u i\u015faretlemek isteyebilirsiniz. \u00c7o\u011fu zaman otomatik gelir; gelmezse bir g\u00f6z at\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">kubectl get storageclass\n# Gerekirse:\n# kubectl patch storageclass longhorn -p '{&quot;metadata&quot;: {&quot;annotations&quot;: {&quot;storageclass.kubernetes.io\/is-default-class&quot;: &quot;true&quot;}}}'<\/code><\/pre>\n<p>Yedeklemeler i\u00e7in S3 uyumlu bir hedef belirleme, disk alarm e\u015fikleri ve replikasyon say\u0131s\u0131 gibi ayarlar\u0131 UI \u00fczerinden ya da manifestlerle yapabilirsiniz. Merak etti\u011finiz ayr\u0131nt\u0131lar i\u00e7in <a href=\"https:\/\/longhorn.io\/docs\/\" rel=\"nofollow noopener\" target=\"_blank\">Longhorn dok\u00fcmantasyonu<\/a> a\u00e7\u0131k ve anla\u015f\u0131l\u0131r.<\/p>\n<h2 id=\"section-8\"><span id=\"DNS_Giris_ve_Ilk_Uygulama_Merhaba_Demenin_Tam_Vakti\">DNS, Giri\u015f ve \u0130lk Uygulama: \u201cMerhaba\u201d Demenin Tam Vakti<\/span><\/h2>\n<h3><span id=\"DNSi_Nasil_Basit_Tutmali\">DNS\u2019i Nas\u0131l Basit Tutmal\u0131?<\/span><\/h3>\n<p>VPS ortam\u0131nda genelde bir y\u00fck dengeleyiciniz yok. Traefik\u2019i her d\u00fc\u011f\u00fcmde 80\/443\u2019te dinleyen DaemonSet olarak kurdu\u011fumuz i\u00e7in, alan ad\u0131n\u0131z\u0131 \u00fc\u00e7 IP\u2019ye de i\u015faret edebilirsiniz. \u0130stek hangi d\u00fc\u011f\u00fcme d\u00fc\u015ferse d\u00fc\u015fs\u00fcn, k\u00fcmenin i\u00e7erisine al\u0131n\u0131r. DNS taraf\u0131nda dayan\u0131kl\u0131l\u0131\u011f\u0131 art\u0131rmak isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/coklu-saglayici-dns-nasil-kurulur-octodns-ile-zero%e2%80%91downtime-gecis-ve-dayaniklilik-rehberi\/\">\u00e7oklu sa\u011flay\u0131c\u0131 DNS ile kesintisiz isim \u00e7\u00f6z\u00fcmleme<\/a> g\u00fczel fikirler verir.<\/p>\n<h3><span id=\"Basit_Bir_Uygulama_ve_Ingress\">Basit Bir Uygulama ve Ingress<\/span><\/h3>\n<p>Hadi ufak bir \u201cwhoami\u201d uygulamas\u0131 atal\u0131m. Bir Deployment, bir Service, bir de Ingress ile ba\u015flayal\u0131m. Ingress\u2019te cert\u2011manager\u2019\u0131 devreye sokaca\u011f\u0131z:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cat &gt; app.yaml &lt;&lt;'YAML'\napiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: whoami\n  namespace: default\nspec:\n  replicas: 2\n  selector:\n    matchLabels:\n      app: whoami\n  template:\n    metadata:\n      labels:\n        app: whoami\n    spec:\n      containers:\n        - name: whoami\n          image: containous\/whoami:v1.5.0\n          ports:\n            - containerPort: 80\n          volumeMounts:\n            - name: data\n              mountPath: \/data\n      volumes:\n        - name: data\n          persistentVolumeClaim:\n            claimName: whoami-pvc\n---\napiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n  name: whoami-pvc\n  namespace: default\nspec:\n  accessModes: ['ReadWriteOnce']\n  resources:\n    requests:\n      storage: 1Gi\n  storageClassName: longhorn\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: whoami\n  namespace: default\nspec:\n  selector:\n    app: whoami\n  ports:\n    - name: http\n      port: 80\n      targetPort: 80\n---\napiVersion: networking.k8s.io\/v1\nkind: Ingress\nmetadata:\n  name: whoami\n  namespace: default\n  annotations:\n    cert-manager.io\/cluster-issuer: 'letsencrypt-prod'\nspec:\n  ingressClassName: traefik\n  tls:\n    - hosts:\n        - app.example.com\n      secretName: whoami-tls\n  rules:\n    - host: app.example.com\n      http:\n        paths:\n          - path: \/\n            pathType: Prefix\n            backend:\n              service:\n                name: whoami\n                port:\n                  number: 80\nYAML\nkubectl apply -f app.yaml<\/code><\/pre>\n<p>DNS\u2019inizde app.example.com\u2019u \u00fc\u00e7 VPS IP\u2019sine i\u015faret ettiyseniz, k\u0131sa s\u00fcre i\u00e7inde TLS sertifikas\u0131 olu\u015fur ve uygulama HTTPS ile yan\u0131t vermeye ba\u015flar. \u0130lk \u201c200 OK\u201d mesaj\u0131 ekranda belirdi\u011finde, o pazar ak\u015fam\u00fcst\u00fc stresini topra\u011fa g\u00f6mm\u00fc\u015f olacaks\u0131n\u0131z.<\/p>\n<h2 id=\"section-9\"><span id=\"Guncellemeler_Yedekler_ve_Kucuk_Bakim_Rituelleri\">G\u00fcncellemeler, Yedekler ve K\u00fc\u00e7\u00fck Bak\u0131m Rit\u00fcelleri<\/span><\/h2>\n<h3><span id=\"K3si_Guncellemek\">K3s\u2019i G\u00fcncellemek<\/span><\/h3>\n<p>K3s\u2019i g\u00fcncellemek, bazen sadece kurulum komutunu yeniden \u00e7al\u0131\u015ft\u0131rmak kadar basit olur. D\u00fc\u011f\u00fcmleri teker teker g\u00fcncelleyin. \u00d6nce uygulamalar\u0131n g\u00fcvenle ba\u015fka d\u00fc\u011f\u00fcmlere kaymas\u0131n\u0131 sa\u011flamak i\u00e7in d\u00fc\u011f\u00fcm\u00fc drain edin; sonra K3s\u2019i g\u00fcncelleyip geri al\u0131n.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">kubectl drain vps-1 --ignore-daemonsets --delete-emptydir-data\ncurl -sfL https:\/\/get.k3s.io | INSTALL_K3S_CHANNEL='stable' sh -\nkubectl uncordon vps-1<\/code><\/pre>\n<p>Ayn\u0131 ritmi di\u011fer d\u00fc\u011f\u00fcmler i\u00e7in de uygulay\u0131n. K\u00fcme ayakta kal\u0131r, trafik akmaya devam eder.<\/p>\n<h3><span id=\"etcd_Anlik_Goruntuler_Snapshot\">etcd Anl\u0131k G\u00f6r\u00fcnt\u00fcler (Snapshot)<\/span><\/h3>\n<p>K3s\u2019in g\u00f6m\u00fcl\u00fc etcd\u2019si i\u00e7in anl\u0131k yedek almak iyi bir al\u0131\u015fkanl\u0131kt\u0131r. Elle tetiklemek isterseniz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo k3s etcd-snapshot save --name manuelsnap-$(date +%Y%m%d-%H%M)<\/code><\/pre>\n<p>Otomatikle\u015ftirmek isterseniz K3s servis parametrelerine periyodik snapshot ayar\u0131 ekleyebilirsiniz. D\u0131\u015far\u0131ya kopyalamay\u0131 da unutmay\u0131n; tek makinede kalan yede\u011fin faydas\u0131 s\u0131n\u0131rl\u0131 olur.<\/p>\n<h3><span id=\"Longhorn_Yedekleri\">Longhorn Yedekleri<\/span><\/h3>\n<p>Longhorn, yedeklemeleri S3 uyumlu bir depoya aktarabiliyor. Bir kez yap\u0131land\u0131r\u0131nca, kritik PVC\u2019leriniz i\u00e7in periyodik snapshot ve yedek planlar\u0131 tan\u0131mlay\u0131n. Ani bir hata an\u0131nda geri d\u00f6n\u00fc\u015f\u00fcn\u00fcz\u00fcn s\u00fcresi dakikalara iner, stres seviyesi de otomatik d\u00fc\u015fer.<\/p>\n<h3><span id=\"Giris_Trafigi_ve_Sertifika_Yenileme\">Giri\u015f Trafi\u011fi ve Sertifika Yenileme<\/span><\/h3>\n<p>Traefik\u2019in eri\u015fim loglar\u0131n\u0131 gerekti\u011finde a\u00e7\u0131p kapamak, sorun an\u0131nda i\u015finizi kolayla\u015ft\u0131r\u0131r. cert\u2011manager sertifikalar\u0131 otomatik yeniler; uzatma tarihlerini kontrol etmek i\u00e7in Secret\u2019lar\u0131n \u00fczerindeki tarihlere bakabilirsiniz. Daha derin kurgu isteyen senaryolarda, DNS do\u011frulamas\u0131 ve \u00e7ok kirac\u0131l\u0131 alan ad\u0131 y\u00f6netimini de d\u00fc\u015f\u00fcn\u00fcrs\u00fcn\u00fcz; bu konuda <a href=\"https:\/\/www.dchost.com\/blog\/saaste-ozel-alan-adlari-ve-otomatik-ssl-dns%e2%80%9101-ile-cok-kiracili-mimarini-nasil-tatli-tatli-olceklersin\/\">\u00e7ok kirac\u0131l\u0131 mimaride otomatik SSL ve DNS\u201101 yakla\u015f\u0131m\u0131<\/a> g\u00fczel pratikler i\u00e7eriyor.<\/p>\n<h2 id=\"section-10\"><span id=\"Sorun_Giderme_Nereden_Tutsam_Dediginizde\">Sorun Giderme: \u201cNereden Tutsam?\u201d Dedi\u011finizde<\/span><\/h2>\n<h3><span id=\"DNS_mi_Ingress_mi_Sertifika_mi\">DNS mi, Ingress mi, Sertifika m\u0131?<\/span><\/h3>\n<p>\u0130lk \u00f6nce en basitinden ba\u015flay\u0131n. Alan ad\u0131n\u0131z do\u011fru IP\u2019lere \u00e7\u00f6z\u00fcl\u00fcyor mu? 80 portu a\u00e7\u0131k ve Traefik\u2019e ula\u015f\u0131yor mu? Bu ikisi sa\u011flamsa, Ingress kurallar\u0131n\u0131za bak\u0131n; host ad\u0131 do\u011fru mu, path do\u011fru mu? Sertifika i\u00e7in events \u00e7\u0131kt\u0131lar\u0131n\u0131 kontrol edin; genelde eksik veya hatal\u0131 bir DNS kayd\u0131 t\u00fcm deli\u011fi g\u00f6sterir.<\/p>\n<h3><span id=\"Podlar_Niye_Donmuyor\">Pod\u2019lar Niye D\u00f6nm\u00fcyor?<\/span><\/h3>\n<p>Pod\u2019lar CrashLoop\u2019a d\u00fc\u015f\u00fcyorsa, \u00e7o\u011fu zaman uygulama hatas\u0131, yanl\u0131\u015f \u00e7evre de\u011fi\u015fkeni ya da ula\u015f\u0131lamayan bir d\u0131\u015f kaynak vard\u0131r. \u201ckubectl logs\u201d ile ba\u015flay\u0131n, sonra \u201ckubectl describe pod \u2026\u201d ile olaylar\u0131 okuyun. PVC\u2019ler ba\u011flanm\u0131yorsa, Longhorn taraf\u0131na g\u00f6z at\u0131n; disk alan\u0131, replikasyon ve node taint\u2019leri gibi k\u00fc\u00e7\u00fck detaylar bazen b\u00fcy\u00fck etkiler yapar.<\/p>\n<h3><span id=\"Traefik_Kurali_Calismiyor\">Traefik Kural\u0131 \u00c7al\u0131\u015fm\u0131yor<\/span><\/h3>\n<p>IngressClass\u2019\u0131n \u201ctraefik\u201d oldu\u011fundan emin olun. Yanl\u0131\u015f s\u0131n\u0131f, sanki kap\u0131y\u0131 yanl\u0131\u015f kap\u0131 ziliyle \u00e7almaya benzer. Bir de 80\/443 hostPort\u2019lar\u0131 her d\u00fc\u011f\u00fcmde tek bir servis taraf\u0131ndan al\u0131nabilir; ba\u015fka bir servis ayn\u0131 portu kapm\u0131\u015fsa \u00e7at\u0131\u015fma olur. Kafay\u0131 kar\u0131\u015ft\u0131ran anlarda, <a href=\"https:\/\/doc.traefik.io\/traefik\/routing\/providers\/kubernetes-ingress\/\" rel=\"nofollow noopener\" target=\"_blank\">Traefik\u2019in Kubernetes Ingress belgeleri<\/a> tekrar tekrar hayat kurtar\u0131r.<\/p>\n<h2 id=\"section-11\"><span id=\"Kapanis_Uc_Dugum_Sakin_Uykular\">Kapan\u0131\u015f: \u00dc\u00e7 D\u00fc\u011f\u00fcm, Sakin Uykular<\/span><\/h2>\n<p>\u00dc\u00e7 VPS ile kurdu\u011fumuz K3s k\u00fcmesi, Traefik\u2019in giri\u015fte trafi\u011fi usulca y\u00f6netti\u011fi, cert\u2011manager\u2019\u0131n sertifikalar\u0131 kendi kendine yeniledi\u011fi, Longhorn\u2019un veriyi g\u00fcvenle tuttu\u011fu k\u00fc\u00e7\u00fck bir ekosistem. Sade, anla\u015f\u0131l\u0131r ve b\u00fcy\u00fct\u00fclebilir. Bir pazar ak\u015fam\u0131 gelen \u201cSite a\u00e7\u0131lm\u0131yor\u201d mesajlar\u0131n\u0131n tedirginli\u011fini arka cebinize koyup, \u201cTamam, toparlar\u201d diyebilece\u011finiz bir d\u00fczen bu. K\u00fcmenin ritmini bir kez kurdu\u011funuzda, her g\u00fcn biraz daha iyi hale getirirsiniz.<\/p>\n<p>Pratik bir tavsiye: de\u011fi\u015fiklikleri k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6l\u00fcn. \u00d6nce k\u00fcme, sonra Traefik, ard\u0131ndan cert\u2011manager, en sonda Longhorn. Her ad\u0131mda k\u0131sa bir do\u011frulama yap\u0131n. DNS ayarlar\u0131n\u0131z\u0131 temiz tutun, loglar\u0131 gerekti\u011finde a\u00e7\u0131p kapay\u0131n, yedeklemeleri otomati\u011fe ba\u011flay\u0131n. Bir de kendinize k\u00fc\u00e7\u00fck bir kontrol listesi \u00e7\u0131kar\u0131n; bak\u0131m zamanlar\u0131nda \u201cNeyi atlad\u0131m?\u201d diye d\u00fc\u015f\u00fcnmek yerine ona bakars\u0131n\u0131z. \u0130sterseniz ACME taraf\u0131n\u0131 daha da sa\u011flamla\u015ft\u0131rmak i\u00e7in, oran limitlerini ve yedek CA\u2019y\u0131 planlay\u0131n; ismi bile rahatlat\u0131yor.<\/p>\n<p>Umar\u0131m bu rehber, \u00fc\u00e7 k\u00fc\u00e7\u00fck VPS\u2019i g\u00fc\u00e7l\u00fc bir ekibe d\u00f6n\u00fc\u015ft\u00fcrmenize yard\u0131mc\u0131 olur. Ak\u0131lda tak\u0131lan bir \u015fey olursa not al\u0131n; bir sonraki yaz\u0131da belki onu konu\u015furuz. Bu arada DNS ve TLS taraf\u0131n\u0131 g\u00fc\u00e7lendirmek i\u00e7in \u00f6nerdi\u011fim i\u00e7eri\u011fi de kenara kaydedin; bir g\u00fcn mutlaka i\u015finize yarayacak. \u015eimdilik bu kadar. Bir dahaki yaz\u0131da g\u00f6r\u00fc\u015fmek \u00fczere\u2026<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Bir Ak\u015fam\u00fcst\u00fc Kesintisi ve 3 VPS\u2019te K3s\u2019e Giden Yol2 Neden 3 VPS ve K3s? Ne Zaman Mant\u0131kl\u0131?3 Topoloji, IP Plan\u0131 ve Haz\u0131rl\u0131k: K\u00fcmenin G\u00f6n\u00fcl Rahatl\u0131\u011f\u01313.1 \u00dc\u00e7 D\u00fc\u011f\u00fcm, Net \u0130simler3.2 G\u00fcvenlik \u0130\u00e7in K\u00fc\u00e7\u00fck Ama K\u0131ymetli Dokunu\u015flar3.3 \u00d6n Ko\u015fullar\u0131n \u0130ncelikleri4 K3s Y\u00fcksek Eri\u015filebilirlik: \u00dc\u00e7 D\u00fc\u011f\u00fcmle Sa\u011flam Ba\u015flang\u0131\u00e74.1 K\u00fcme Kurulumu Mant\u0131\u011f\u01314.2 K3s Konfig\u00fcrasyonu (config.yaml)4.3 \u0130lk D\u00fc\u011f\u00fcm\u00fc Ba\u015flatma [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1897,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-1896","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/1896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=1896"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/1896\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/1897"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=1896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=1896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=1896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}