-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.xml
97 lines (97 loc) · 16.5 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog</title><link>https://erkanerol.github.io/</link><description>Recent content on Blog</description><generator>Hugo -- gohugo.io</generator><language>en-en</language><lastBuildDate>Mon, 04 Jul 2022 10:00:00 +0300</lastBuildDate><atom:link href="https://erkanerol.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Thinking about the complexity of the Kubernetes ecosystem</title><link>https://erkanerol.github.io/post/complexity-of-kubernetes/</link><pubDate>Mon, 04 Jul 2022 10:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/complexity-of-kubernetes/</guid><description><blockquote>
<p>Disclaimer: I am working for <a href="https://www.giantswarm.io/product">Giant Swarm</a> as a Platform Engineer. My day-to-day work might have influenced my perspective on this subject since it is pretty related to why/how we help our customers.</p>
</blockquote>
<p>Over the years, I faced two different reactions from people who are new to Kubernetes:</p>
<ol>
<li>&ldquo;Is Kubernetes genuinely that simple? Why doesn&rsquo;t it have X as a built-in feature?&rdquo;</li>
<li>&ldquo;Why is Kubernetes so complex? Why do I have to learn so many things to do just simple Y?&rdquo;</li>
</ol>
<p>Before learning Kubernetes in detail, they are under the impression that Kubernetes</p>
<ul>
<li>has all the necessary features of modern infrastructure</li>
<li>provides what they need perfectly</li>
<li>is easy to use</li>
<li>is free</li>
</ul>
<p>In this blog post, I am going to explain why it is so hard to achieve these goals at the same time by analyzing the anatomy of Kubernetes ecosystem.</p></description></item><item><title>Debugging k8s services: 3 tools for 3 scenarios</title><link>https://erkanerol.github.io/post/debugging-k8s-services/</link><pubDate>Sun, 28 Feb 2021 16:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/debugging-k8s-services/</guid><description><p>While developing/debugging applications that serve services on k8s in production, you need some tools/commands. This blog post explains three different scenarios+tools for you.</p>
<blockquote>
<p>Please ping me if there is something wrong. <a href="https://twitter.com/erkan_erol">https://twitter.com/erkan_erol</a>_</p>
</blockquote></description></item><item><title>Learning Path: Basics of Container Runtimes</title><link>https://erkanerol.github.io/post/basics-of-container-runtimes/</link><pubDate>Sat, 01 Aug 2020 00:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/basics-of-container-runtimes/</guid><description><h2 id="intro">Intro</h2>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">After a couple of productive hours, now I have a clear understanding of what are the difference/relationship between cgroups, namespaces, runc, containerd, docker, rkt, dockerd, docker-containerd-shim, cri-o, cri, dockershim, gVisor, kata-containers, etc.</p>&mdash; Erkan Erol (@erkan_erol_) <a href="https://twitter.com/erkan_erol_/status/1252343453402361858?ref_src=twsrc%5Etfw">April 20, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></description></item><item><title>I wish pods were fully restartable</title><link>https://erkanerol.github.io/post/restartable-pods/</link><pubDate>Sun, 19 Jul 2020 21:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/restartable-pods/</guid><description><blockquote>
<p>+Hi Erkan. Pod-X in my cluster is in CrashLoopBackOff. How can I solve this issue?</p>
</blockquote>
<blockquote>
<p>-Ohh:/ Most probably it is because of the known EKS issue. Just restart the pod.</p>
</blockquote>
<blockquote>
<p>+How?</p>
</blockquote>
<blockquote>
<p>-Just delete the pod.</p>
</blockquote>
<blockquote>
<p>+Really? May I delete any pod in my cluster?</p>
</blockquote>
<blockquote>
<p>-In theory, you can delete any pod of our application. Nevertheless, be careful :D</p>
</blockquote>
<p>I don&rsquo;t remember how many times I had this conversation, but I have never thought about whether pods are really restartable or not until recently. When I thought about it deeply, <strong>I noticed that pods are not fully restartable, they are re-creatable or partially restartable.</strong></p>
<br>
<blockquote>
<p>This blog post consists of my understanding and my comments. Please ping me if there is something wrong. <a href="https://twitter.com/erkan_erol">https://twitter.com/erkan_erol</a>_</p>
</blockquote></description></item><item><title>Who sets the IP of a pod?</title><link>https://erkanerol.github.io/post/who-sets-ip-of-a-pod/</link><pubDate>Tue, 14 Jul 2020 22:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/who-sets-ip-of-a-pod/</guid><description><h2 id="intro">Intro</h2>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Short Quiz (please RT)<br><br>Who sets the IP of a pod?</p>&mdash; Erkan Erol (@erkan_erol_) <a href="https://twitter.com/erkan_erol_/status/1282761232987160576?ref_src=twsrc%5Etfw">July 13, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></description></item><item><title>How does 'kubectl exec' work?</title><link>https://erkanerol.github.io/post/how-kubectl-exec-works/</link><pubDate>Sun, 25 Aug 2019 19:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/how-kubectl-exec-works/</guid><description><p>Last Friday, one of my colleagues approached me and asked a question about how to exec a command in a pod with client-go. I didn&rsquo;t know the answer and I noticed that I had never thought about the mechanism in &ldquo;kubectl exec&rdquo;. I had some ideas about how it should be, but I wasn&rsquo;t 100% sure. I noted the topic to check again and I have learnt a lot after reading some blogs, docs and source codes. In this blog post, I am going to share my understanding and findings.</p>
<blockquote>
<p>Please ping me if there is something wrong. <a href="https://twitter.com/erkan_erol">https://twitter.com/erkan_erol</a>_</p>
</blockquote></description></item><item><title>Yazgıları Birleştirme Enstitüsü</title><link>https://erkanerol.github.io/post/yazgilari-birlestirme-enstitusu/</link><pubDate>Sat, 10 Aug 2019 19:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/yazgilari-birlestirme-enstitusu/</guid><description><iframe width="100%" height="166" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/28366936&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true"></iframe>
<div style="text-align: right">
<br>"The souls of heaven
<br>Are stars at night.
<br>They will guide us on our way,
<br>Until we meet again
<br>Another day."
</div>
<br>
<p>Kıymetli vatandaşlarım!</p>
<p>Bugün, buraya, tarihin akışını değiştirecek bu enstitümüzün açılışına hoş geldiniz!</p>
<p><em><strong>&mdash;alkışlar&mdash;</strong></em></p></description></item><item><title>Adapting to a software project</title><link>https://erkanerol.github.io/post/adapting-a-project/</link><pubDate>Fri, 26 Apr 2019 22:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/adapting-a-project/</guid><description><p>Throughout my career, a few times,</p>
<ul>
<li>I joined a project</li>
<li>I became one of the main maintainers of the project/a component after a while</li>
<li>I helped new people to adapt to the project</li>
</ul>
<p>The companies were different. The teams were different. The technology stacks were different. However, I realized my approach was similar. I think I can say some things about adapting to a software project. In this blog post, I am going to share &ldquo;my way&rdquo;.</p></description></item><item><title>Aynısından</title><link>https://erkanerol.github.io/post/ayn%C4%B1s%C4%B1ndan/</link><pubDate>Sun, 26 Nov 2017 20:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/ayn%C4%B1s%C4%B1ndan/</guid><description><p>Kahvaltımı yapmış, odamı toplamıştım. Sonrasında yeni bulaşık makinasının gideri için gerekli parçaları tespit etmiş, nalbura gidip almış, montajını yapmıştım. Makinayı çalıştırmış, lavoba giderini test etmiştim. Her şey olumluydu ve artık sıradaki işime geçebilirdim: <strong>Berbere gitmek.</strong></p></description></item><item><title>Primitive Takıntısı ve Değer Nesneleri</title><link>https://erkanerol.github.io/post/primitive_obsession/</link><pubDate>Sat, 25 Mar 2017 00:37:43 +0300</pubDate><guid>https://erkanerol.github.io/post/primitive_obsession/</guid><description><p>Primitive Obsession ünlü <a href="https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672" target="_blank">Refactoring</a> kitabındaki kod kokularından biridir. Yazılımcıların karmaşık şeyleri ilkel veri türleri ile ifade etmeye çalışmasını ifade eder. Bu yazıda bu sorunu ve çözümünü ele alacağız.</p>
<p><img src="https://erkanerol.github.io/img/primitive.jpg" alt="primitive"></p>
<center>
<a href="https://dzone.com/articles/primitive-obsession" target="_blank">Görselin Kaynağı</a>
</center></description></item><item><title>Ustam: Lemi Orhan Ergin</title><link>https://erkanerol.github.io/post/lemi/</link><pubDate>Sun, 12 Mar 2017 22:24:38 +0300</pubDate><guid>https://erkanerol.github.io/post/lemi/</guid><description><p>Aslında bir video çekmekti planım lakin beceremedim bir türlü☹️Ben de yazmaya karar verdim. Umarım hislerimi ve düşüncelerimi düzgün ifade edebilirim.</p>
<p><br><br></p>
<p><img src="https://avatars0.githubusercontent.com/u/1199195?v=3&amp;s=400" alt="lemi-avatar"></p>
<blockquote>
<p>Bugün (13 Mart) Lemi abinin, <a href="https://twitter.com/lemiorhan" target="_blank">Lemi Orhan Ergin&rsquo;in</a> doğum günü. En son söyleyeceğim sözü ilk başta söyleyeyim: İyi doğdun Lemi abi. İyi ki varsın!</p>
</blockquote></description></item><item><title>Yazılımcı Fanatikliğinin Anatomisi</title><link>https://erkanerol.github.io/post/yazilimci-fanatikliginin-anatomisi/</link><pubDate>Sat, 25 Feb 2017 20:00:00 +0300</pubDate><guid>https://erkanerol.github.io/post/yazilimci-fanatikliginin-anatomisi/</guid><description><p><em><strong>Feragatname (Disclaimer):</strong></em> İşbu blog yazısındaki her şey şahsi görüşlerim ve çıkarımlarımdan ibaret olup, herhangi bir kaynağa dayanmamaktadır. Yazıdaki ölçü vurgusuna dikkat edilmesi önemle rica olunur.</p>
<h3 id="nereden-çıktı-bu-yazı">Nereden çıktı bu yazı?</h3>
<p><a href="https://www.meetup.com/Software-Craftsmanship-Turkey/" target="_blank">Türkiye Yazılım Ustalığı </a> topluluğumuz için <a href="https://www.meetup.com/Software-Craftsmanship-Turkey/pages/20984357/Topluluk_Davran%C4%B1%C5%9F_Kurallar%C4%B1/" target="_blank">Topluluk Davranış Kuralları&rsquo;nı </a> İngilizce örneğinden çevirirken bir ifadeye rastladım.</p>
<blockquote>
<p>Topluluğumuz cinsiyet, cinsel kimlik, cinsel tercih, yaş, engellilik hali, fiziksel görünüm, vücut ölçüleri, ırk ve din (veya dinsizlik), <em><strong>teknolojik tercihler</strong></em> ayrımı yapmaksızın herkese rahatsızlıktan uzak bir deneyim sunmaya adanmıştır.</p>
</blockquote>
<p>Teknolojik tercihleri yüzünden ayrımcılığa maruz kalan var mıdır bilmiyorum ama bazı yazılımcıların <em><strong>&ldquo;fanatik&rdquo;</strong></em> olarak nitelendirilebileceğini biliyorum. Bu yazılım camiasında da bilinen bir durum zaten. Belirli bir ölçüye kadar güzel ve sevimli olan bu fan olma hali bir yerden sonra büyük sorunlara neden oluyor. Bu konu hakkında biraz kafa yordum ve düşüncelerimi bu yazıda ifade etmeye çalışacağım.</p></description></item><item><title>Hash Fonksiyonları</title><link>https://erkanerol.github.io/post/hash-functions/</link><pubDate>Sat, 11 Feb 2017 00:31:42 +0300</pubDate><guid>https://erkanerol.github.io/post/hash-functions/</guid><description><p>Not: İşbu yazı Wikipedia kullanılarak yazılmıştır. Arzu edenler <a href="https://en.wikipedia.org/wiki/Hash_function" target="_blank">şu</a> link üzerinden devam edebilir.</p>
<p>Hash fonksiyonları belirli özellikleri sağlayan fonksiyonlardır. Bu özelliklere değinmeden önce fonksiyonları kısaca hatırlatmak istiyorum.</p></description></item><item><title>Bir takım teoriler, kanunlar ve ilkeler</title><link>https://erkanerol.github.io/post/some-laws-and-principles/</link><pubDate>Sat, 07 Jan 2017 13:42:18 +0300</pubDate><guid>https://erkanerol.github.io/post/some-laws-and-principles/</guid><description><p>Bir şekilde öğrendiğim bir takım teoriler, kanunlar, ilkeler var. Bunları çevremdeki insanlarla paylaştığımda ilgi çektiklerini ve çok bilinmediklerini farkettim. Ben de bir blog yazısı ile bunları kısa kısa ve basit cümleler ile paylaşayım dedim. Bu yazıda 5 tanesine değineceğim. Başlıklara wikipedia linklerini ekledim. Formal şekillerini okumak isteyenler oradan devam edebilir.</p></description></item><item><title>Yazılım Bağlamında Cohesion ve Coupling Kavramları Üzerine</title><link>https://erkanerol.github.io/post/cohesion-coupling/</link><pubDate>Thu, 29 Sep 2016 22:27:32 +0300</pubDate><guid>https://erkanerol.github.io/post/cohesion-coupling/</guid><description><h2 id="giriş">Giriş</h2>
<p>Bu aralar Software Craftsmanship alanında okumalar yapmaya ve vakit buldukça konuşmalar izlemeye çalışıyorum. Yazılımın temel prensipleri ve kavramları bu alanın ana başlıklarından. Ben de okuduğum, anlamaya çalıştığım bu 2 kavramı çok çok basit şekilde, kendimce açıklamaya çalışacağım.</p></description></item><item><title>Dry Prensibi</title><link>https://erkanerol.github.io/post/dryprinciple/</link><pubDate>Thu, 02 Jun 2016 20:23:06 +0300</pubDate><guid>https://erkanerol.github.io/post/dryprinciple/</guid><description><blockquote>
<p>Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.</p>
</blockquote>
<p>NOT: Bu yazı The Pragmatic Programmer kitabındaki &ldquo;The Evils of Duplication&rdquo; bölümünden yararlanılarak yazılmıştır.</p>
<h2 id="programlama-prensibi">Programlama Prensibi</h2>
<p>DRY</p>
<p>Keep It Dry</p>
<p>Keep Things Dry</p></description></item><item><title>YAGNI Prensibi</title><link>https://erkanerol.github.io/post/yagniprinciple/</link><pubDate>Wed, 25 May 2016 22:46:50 +0300</pubDate><guid>https://erkanerol.github.io/post/yagniprinciple/</guid><description><p>Not: Bu yazı Martin Fowler&rsquo;ın YAGNI yazısının özeti ve tercümesi niteliğindedir.</p>
<h2 id="programlama-prensibi">Programlama Prensibi</h2>
<p>YAGNI</p>
<h2 id="açılımlar">Açılımlar</h2>
<p>You Aren’t Gonna Need It
You Aint Gonna Need It</p>
<h2 id="açıklama">Açıklama</h2>
<p>YAGNI, Extreme programlamanın prensiplerinden biridir. Gelecekte lazım olacak düşüncesi ile bir takım özelliklerin geliştirilmemesi gerektiğini savunur. Şimdi bir örnek üzerinden bu prensibi anlamaya çalışalım.</p></description></item><item><title>KISS Prensibi</title><link>https://erkanerol.github.io/post/kiss/</link><pubDate>Sat, 14 May 2016 16:15:53 +0300</pubDate><guid>https://erkanerol.github.io/post/kiss/</guid><description><blockquote>
<p>Basitlik nihai karmaşıklıktır.</p>
</blockquote>
<p><img src="https://erkanerol.github.io/img/Simplicity.jpg" alt="Simplicity"></p></description></item><item><title>2 General/Ordu Problemi</title><link>https://erkanerol.github.io/post/two-army-problem/</link><pubDate>Mon, 24 Aug 2015 20:31:00 +0200</pubDate><guid>https://erkanerol.github.io/post/two-army-problem/</guid><description><p>Bu yazıda Two Generals' Problem ya da The Two Army Problem olarak anılan problemi anlatmaya çalışacağım.</p></description></item></channel></rss>