{"id":16018,"date":"2019-09-30T10:11:55","date_gmt":"2019-09-30T07:11:55","guid":{"rendered":"https:\/\/fatihboy.com\/?p=16018"},"modified":"2021-06-21T18:42:43","modified_gmt":"2021-06-21T15:42:43","slug":"kubernetes-uzerinde-docker-registery-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/kubernetes-uzerinde-docker-registery-kurulumu\/","title":{"rendered":"Kubernetes \u00dczerinde Docker Registry Kurulumu"},"content":{"rendered":"<p>Docker Registery, Docker imaj\u2019lar\u0131n\u0131z\u0131 toplu olarak tutabilece\u011finiz bir saklama alan\u0131, depo gibi hizmet vermek i\u00e7in kullanabilece\u011finiz bir uygulamad\u0131r. \u00d6zel bir Docker Registery ise imajlar\u0131n\u0131z\u0131 g\u00fcvenli olarak saklama imkan\u0131 bulabilece\u011finiz bir depo olacakt\u0131r.<\/p>\n\n\n\n<p>Kubernetes makalalerimizde \u015fimdiye kadar sizlerle payla\u015ft\u0131\u011f\u0131m b\u00f6l\u00fcmlerde \u00fcretim ortam\u0131nda olmazsa olmaz pek \u00e7ok bile\u015feni ad\u0131m ad\u0131m kurduk. \u00dcretim ortam\u0131n\u0131n g\u00fcvenli\u011fini sa\u011flaman\u0131n yollar\u0131ndan biriside kullan\u0131lan Docker imajlar\u0131n\u0131n kontroll\u00fc olarak kullan\u0131m\u0131d\u0131r. Buna bir de kurum i\u00e7in kulland\u0131\u011f\u0131m\u0131z imajlar\u0131 Docker Hub\u2019a koymay\u0131 istemeyece\u011finizi de katacak olursan\u0131z, ka\u00e7\u0131n\u0131lmaz olarak bir yerelde kurulu bir Docker Registery ihtiyac\u0131 ortaya \u00e7\u0131kmakta. Bu makalemde ad\u0131m ad\u0131m Kubernetes Cluster\u2019\u0131 \u00fczerine nas\u0131l Docker Registery kurabilece\u011finizi sizlerle payla\u015faca\u011f\u0131m.<\/p>\n\n\n\n<p>Takip edece\u011fimiz kurulum ad\u0131mlar\u0131 Helm kullan\u0131m\u0131 gerektirdi\u011fi i\u00e7in Helm\u2019in ne oldu\u011funu bildi\u011finizi ve sisteminizde kurulu oldu\u011funu varsay\u0131yorum.&nbsp; Helm\u2019in mimarisi ve ne oldu\u011fu hakk\u0131nda detayl\u0131 bilgiye <a href=\"https:\/\/fatihboy.com\/en\/post\/kubernetes-helm-paket-yoneticisi\/\" target=\"_blank\" rel=\"noopener noreferrer\">bu makalemde<\/a> ula\u015fabilirsiniz. Sisteminize Helm kurmak i\u00e7in ise <a href=\"https:\/\/fatihboy.com\/en\/post\/helm-paket-yoneticisi-kurulumu\/\" target=\"_blank\" rel=\"noopener noreferrer\">bu makalemdeki ad\u0131mlar\u0131<\/a> takip edebilirsiniz.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Kurulum<\/h1>\n\n\n\n<p>Docker Registery\u2019yi kurarak d\u0131\u015far\u0131nda eri\u015fime NodePort veya Ingress Controller \u00fczerinden eri\u015fime a\u00e7abilirsiniz. A\u015fa\u011f\u0131da her iki y\u00f6ntem i\u00e7in de takip edece\u011finiz ad\u0131mlar\u0131 bulabilirsiniz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">NodePort \u00dczerinden A\u00e7ma<\/h2>\n\n\n\n<p>Docker Registery kurulumu en basit haliyle a\u015fa\u011f\u0131daki komut yard\u0131m\u0131yla ger\u00e7ekle\u015ftirilebilir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">helm install stable\/docker-registry --set service.type=NodePort -n docker-registry --namespace kube-system<\/pre>\n\n\n\n<p>Komutun \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 ard\u0131ndan aya\u011fa kalkan Docker Registery pod\u2019u NodePort olarak d\u0131\u015far\u0131 a\u00e7\u0131lacakt\u0131r. A\u015fa\u011f\u0131daki komutlar\u0131 takip ederek Docker Registery\u2019ye ula\u015fabilece\u011finiz ip ve port\u2019u \u00f6\u011frenebilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">export NODE_PORT=$(kubectl get --namespace kube-system -o jsonpath=\"{.spec.ports[0].nodePort}\" services docker-registry)\nexport NODE_IP=$(kubectl get nodes --namespace kube-system -o jsonpath=\"{.items[0].status.addresses[0].address}\")\necho http:\/\/$NODE_IP:$NODE_PORT<\/pre>\n\n\n\n<p>Docker Registery\u2019nin \u00e7al\u0131\u015fmas\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutla katalog listesi al\u0131nabilir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl -X GET http:\/\/$NODE_IP:$NODE_PORT\/v2\/_catalog<\/pre>\n\n\n\n<p>\u0130lk kurulum ard\u0131ndan \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z bu komut neticesinde yan\u0131t olarak bo\u015f katalog listesi gelecektir.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/DockerRegistery-NodePort.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/DockerRegistery-NodePort_thumb.png\" alt=\"Docker-Registery'nin kurularak NodePort olarak d\u0131\u015far\u0131 a\u00e7\u0131lmas\u0131\"\/><\/a><\/figure>\n\n\n\n<p>Kullan\u0131lacak NodePort\u2019u belirtmek isterseniz a\u015fa\u011f\u0131daki \u015fekilde helm release\u2019i olu\u015fturabilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">helm install stable\/docker-registry --set service.nodePort=30600,service.type=NodePort -n docker-registry --namespace kube-system<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Ingress Controller \u00dczerinden A\u00e7ma<\/h2>\n\n\n\n<p>Bu b\u00f6l\u00fcmdeki ad\u0131mlar\u0131 takip etmek i\u00e7in Kubernetes Cluster\u2019\u0131n\u0131zda Ingress Controller kurulu olmal\u0131d\u0131r. Ingress Controller kurulum ad\u0131mlar\u0131 i\u00e7in <a href=\"https:\/\/fatihboy.com\/en\/post\/nginx-ingress-controller-kurulumu-kolay-yol\/\" target=\"_blank\" rel=\"noopener noreferrer\">bu makaleme<\/a> g\u00f6z atabilirsiniz. Docker Registery\u2019yi Ingress Controller olarak kurmak i\u00e7in \u00f6ncelikle a\u015fa\u011f\u0131daki i\u00e7erikle bir <strong>registry-values.yaml<\/strong> dosyas\u0131 olu\u015fturulur;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ingress:\n  enabled: true\n  hosts:\n  - registry-192-168-200-3.enterprisecoding.io\n  tls:\n  - secretName: registry-tls<\/pre>\n\n\n\n<p>Bu yap\u0131land\u0131rmada <strong>registry-tls<\/strong> ad\u0131yla daha \u00f6nceden olu\u015fturulmu\u015f bir TLS secret oldu\u011fu varsay\u0131lm\u0131\u015ft\u0131r. Docker Registery\u2019ye ula\u015fmakta kullan\u0131lacak Ingress Controller\u2019\u0131n <strong>registry-192-168-200-3.enterprisecoding.io<\/strong> adresini kar\u015f\u0131lamas\u0131 sa\u011flanm\u0131\u015ft\u0131r.&nbsp; Bu DNS kayd\u0131 192.168.200.3 ile Kubernetes Cluster\u2019\u0131mdaki worker node\u2019lardan birisini i\u015faret etmektedir. Siz de benzer bir \u015fekilde <strong>enterprisecoding.io<\/strong> alan ad\u0131 yard\u0131m\u0131yla kendi worker node\u2019unuzu i\u015faret edecek bir adres kullanabilirsiniz. Kullanabilece\u011finiz alternatif Wildcard DNS hizmetleri i\u00e7in <a href=\"https:\/\/fatihboy.com\/en\/post\/tum-ip-adresleri-icin-wildcard-dns-hizmetleri\/\" target=\"_blank\" rel=\"noopener noreferrer\">bu makaleme<\/a> g\u00f6z atabilirsiniz. \u00dcretim ortam\u0131 yap\u0131land\u0131rmalar\u0131nda ise bir worker node\u2019u i\u015faret etmek yerine t\u00fcm Ingress Controller\u2019lar\u0131n\u0131z\u0131n \u00f6n\u00fcne konumland\u0131r\u0131lm\u0131\u015f bir Load Balancer\u2019\u0131 i\u015faret eden DNS kayd\u0131 kullan\u0131lmas\u0131 daha do\u011fru olacakt\u0131r.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki komut yard\u0131m\u0131yla Docker Registry kurularak Ingress Controller \u00fczerinden d\u0131\u015far\u0131 a\u00e7\u0131lmas\u0131 i\u00e7in gerekli yap\u0131land\u0131rma yap\u0131l\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">helm install stable\/docker-registry -f registry-values.yaml -n docker-registry --namespace kube-system<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/DockerRegistery-Ingress.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/DockerRegistery-Ingress_thumb.png\" alt=\"Docker-Registery'nin kurularak Ingress Controller \u00fczerinden d\u0131\u015far\u0131 a\u00e7\u0131lmas\u0131\"\/><\/a><\/figure>\n\n\n\n<p>Docker Registery\u2019nin \u00e7al\u0131\u015fmas\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutla katalog listesi al\u0131nabilir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl -X GET http:\/\/registry-192-168-200-3.enterprisecoding.io\/v2\/_catalog<\/pre>\n\n\n\n<p>ya da<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl \u2013X \u2013k GET https:\/\/registry-192-168-200-3.enterprisecoding.io\/v2\/_catalog<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Docker Yap\u0131land\u0131rmas\u0131<\/h2>\n\n\n\n<p>Kurulumunu yapt\u0131\u011f\u0131m\u0131z Docker Registry\u2019nin Docker taraf\u0131ndan imaj i\u015flemlerinde kullan\u0131labilmesi i\u00e7in \u00f6ncelikle <strong>insecure-registries<\/strong> i\u00e7erisine Docker Registry adresini eklemeliyiz. Bu ama\u00e7la \/etc\/docker\/daemon.json dosyas\u0131na a\u015fa\u011f\u0131daki girdi eklenmelidir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"ini\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\"insecure-registries\" : [\"registry-192-168-200-3.enterprisecoding.io\"]<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/insecure-registries.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/insecure-registries_thumb.png\" alt=\"insecure-registries\"\/><\/a><\/figure>\n\n\n\n<p>Kendi kurulumunuz do\u011frultusunda buradaki Docker Registry adresini g\u00fcncellemelisiniz.<\/p>\n\n\n\n<p>Docker\u2019\u0131n Ingress Controller\u2019da kulland\u0131\u011f\u0131m\u0131z sertifikaya g\u00fcvenmesi i\u00e7in ingress adresi kullan\u0131larak <strong>\/etc\/docker\/certs.d<\/strong> alt\u0131nda klas\u00f6r olu\u015fturulur;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir -p \/etc\/docker\/certs.d\/registry-192-168-200-3.enterprisecoding.io<\/pre>\n\n\n\n<p>Public sertifika bu klas\u00f6r alt\u0131na kopyalan\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cp registry-192-168-200-3.enterprisecoding.io.crt \/etc\/docker\/certs.d\/registry-192-168-200-3.enterprisecoding.io<\/pre>\n\n\n\n<p>Docker servisi yeniden ba\u015flat\u0131l\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">service docker restart<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Kurulum Testi<\/h2>\n\n\n\n<p>S\u0131rada kurulumumuzu test etmekte var. Bunun i\u00e7in \u00f6ncelikle \u00f6rnek bir imaj\u2019\u0131 Docker Hub\u2019tan yerele indiririz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker pull hello-world<\/pre>\n\n\n\n<p>Ard\u0131ndan imaj\u0131 yeni registry i\u00e7in tagleriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker tag hello-world registry-192-168-200-3.enterprisecoding.io\/hello-world<\/pre>\n\n\n\n<p>Son olarak tagledi\u011fimiz imaj\u2019\u0131 yeni registry\u2019ye g\u00f6ndeririz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker push registry-192-168-200-3.enterprisecoding.io\/hello-world<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Kullan\u0131c\u0131 Yetkilendirmesi<\/h2>\n\n\n\n<p>Yukar\u0131daki ad\u0131mlar takip edilerek kurulan Docker Registry anonim olarak kullan\u0131labilir olacakt\u0131r. Herhangi bir kullan\u0131c\u0131 yetkiye tabi olmaks\u0131z\u0131n image ekleme\/silme\/\u00e7ekme i\u015flemlerini ger\u00e7ekle\u015ftirebilecektir. \u00dcretim ortamlar\u0131nda eri\u015fimin kontroll\u00fc olmas\u0131 istenece\u011fi i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar takip edilerek yetkilendirme eklenmelidir.<\/p>\n\n\n\n<p>Yetkilendirme i\u00e7in gerekli olan <strong>httpd-tools<\/strong> paketi a\u015fa\u011f\u0131daki \u015fekilde kurulmal\u0131d\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yum install httpd-tools -y<\/pre>\n\n\n\n<p>Not: Centos 7 \u00fczerinden yap\u0131lan bu kurulum kulland\u0131\u011f\u0131n\u0131z i\u015fletim sistemine g\u00f6re farkl\u0131l\u0131k g\u00f6sterecektir.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki komut yard\u0131m\u0131yla <strong>repouser<\/strong> ad\u0131yla yeni bir kullan\u0131c\u0131 bilgisi ile <strong>htpasswd_dosyasi<\/strong> olu\u015fturulur;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">htpasswd -B -c htpasswd_dosyasi repouser<\/pre>\n\n\n\n<p>\u015eifre girilmesi ard\u0131ndan olu\u015fan dosya g\u00f6r\u00fcnt\u00fclenir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cat htpasswd_dosyasi<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/htpasswd.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/htpasswd_thumb.png\" alt=\"htpasswd ile \u015fifre olu\u015fturulmas\u0131\"\/><\/a><\/figure>\n\n\n\n<p>\u00c7\u0131kt\u0131da yer alan bilgiler kurulum s\u0131ras\u0131nda de\u011ferleri verdi\u011fimiz yaml dosyas\u0131na eklenir. \u00d6rne\u011fin;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">htpasswd: |-\n       repouser:$2y$05$Td1IPxdTp15FVaHo37pfIezX7RnRcAkUGGKAJnnUSPRceoJHiyFse<\/pre>\n\n\n\n<p>Ingress kurulumu \u00fczeriden devam edilecek olursa \u00f6rnek values dosyas\u0131 \u015fu \u015fekilde olacakt\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ingress:\n  enabled: true\n  hosts:\n  - registry-192-168-200-3.enterprisecoding.io\n  tls:\n  - secretName: registry-tls\nsecrets:\n  htpasswd: |-\n       repouser:$2y$05$Td1IPxdTp15FVaHo37pfIezX7RnRcAkUGGKAJnnUSPRceoJHiyFse<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/values-yaml.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/2020\/02\/values-yaml_thumb.png\" alt=\"Olu\u015fturulan \u015fifre Values.yaml dosyas\u0131na eklenir\"\/><\/a><\/figure>\n\n\n\n<p>Helm release g\u00fcncellemesi ard\u0131ndan art\u0131k Docker registry&#8217;si kullan\u0131c\u0131 bilgileri isteyecektir. Giri\u015f i\u00e7in a\u015fa\u011f\u0131daki komut kullan\u0131labilir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker login registry-192-168-200-3.enterprisecoding.io<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/docker-login.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/docker-login_thumb.png\" alt=\"Docker login ile Docker Regitry'ye giri\u015f yap\u0131l\u0131r\"\/><\/a><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Kubernetes Entegrasyonu<\/h1>\n\n\n\n<p>Docker Regitry kurulum ve yap\u0131land\u0131rmas\u0131 ard\u0131ndan testlerde de ba\u015far\u0131l\u0131 \u015fekilde i\u015flem yapabildikten sonra s\u0131ra geldi Kubernetes Cluster\u2019\u0131 ile entegrasyona.<\/p>\n\n\n\n<p>Docker login i\u015flemi yap\u0131ld\u0131\u011f\u0131nda kullan\u0131c\u0131 bilgileri home klas\u00f6r\u00fc alt\u0131ndaki <strong>.docker\/config.json<\/strong> dosyas\u0131na yaz\u0131lmaktad\u0131r. A\u015fa\u011f\u0131daki komut <strong>~\/.docker\/config.json<\/strong> dosyas\u0131n\u0131 kullanarak Kubernetes i\u00e7in gerekli secret tan\u0131m\u0131n\u0131 olu\u015fturman\u0131z\u0131 sa\u011flayacakt\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl create secret generic registry-cred --from-file=.dockerconfigjson=\/root\/.docker\/config.json --type=kubernetes.io\/dockerconfigjson<\/pre>\n\n\n\n<p>T\u00fcm Kubernetes Node&#8217;lar\u0131 i\u00e7in yukar\u0131da tariflenen docker yap\u0131land\u0131rmalar\u0131n\u0131n ger\u00e7ekle\u015ftirilmesi ard\u0131ndan a\u015fa\u011f\u0131dakine benzer <strong>imagePullSecrets<\/strong> b\u00f6l\u00fcm\u00fcn\u00fcn bulundu\u011fu yaml&#8217;lar ile docker imaj&#8217;lar\u0131 \u00e7ekilebilir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: hello-registry\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: hello-registry\n  template:\n    metadata:\n      labels:\n        app: hello-registry\n    spec:\n      containers:\n      - name: hello-registry\n        image: registry-192-168-200-3.enterprisecoding.io\/hello-world:latest\n        ports:\n        - containerPort: 8080\n      imagePullSecrets:\n      - name: registry-cred<\/pre>","protected":false},"excerpt":{"rendered":"<p>Docker Registery, Docker imaj\u2019lar\u0131n\u0131z\u0131 toplu olarak tutabilece\u011finiz bir saklama alan\u0131, depo gibi hizmet vermek i\u00e7in kullanabilece\u011finiz bir uygulamad\u0131r. \u00d6zel bir Docker Registery ise imajlar\u0131n\u0131z\u0131 g\u00fcvenli olarak saklama imkan\u0131 bulabilece\u011finiz bir depo olacakt\u0131r. Kubernetes makalalerimizde \u015fimdiye kadar sizlerle payla\u015ft\u0131\u011f\u0131m b\u00f6l\u00fcmlerde \u00fcretim ortam\u0131nda olmazsa olmaz pek \u00e7ok bile\u015feni ad\u0131m ad\u0131m kurduk. \u00dcretim ortam\u0131n\u0131n g\u00fcvenli\u011fini sa\u011flaman\u0131n yollar\u0131ndan biriside&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/kubernetes-uzerinde-docker-registery-kurulumu\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":33709,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36,28],"tags":[204,38,264],"class_list":["post-16018","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kubernetes","category-turkce","tag-docker","tag-kubernetes","tag-registry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kubernetes \u00dczerinde Docker Registry Kurulumu - Fatih Boy<\/title>\n<meta name=\"description\" content=\"Kubernetes Cluster&#039;\u0131 \u00fczerinde Docker imajlar\u0131n\u0131z\u0131 g\u00fcvenle saklayabilece\u011finiz bir Docker Registry kurulumu i\u00e7in takip etmeniz gereken ad\u0131mlar\u0131 bulabilirsiniz\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihboy.com\/en\/kubernetes-uzerinde-docker-registery-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kubernetes \u00dczerinde Docker Registery Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Kubernetes Cluster&#039;\u0131 \u00fczerinde Docker imajlar\u0131n\u0131z\u0131 g\u00fcvenle saklayabilece\u011finiz bir Docker Registry kurulumu i\u00e7in takip etmeniz gereken ad\u0131mlar\u0131 bulabilirsiniz\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/kubernetes-uzerinde-docker-registery-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-30T07:11:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-21T15:42:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Kubernetes \u00dczerinde Docker Registery Kurulumu\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"Kubernetes \u00dczerinde Docker Registry Kurulumu\",\"datePublished\":\"2019-09-30T07:11:55+00:00\",\"dateModified\":\"2021-06-21T15:42:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/\"},\"wordCount\":1017,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg\",\"keywords\":[\"Docker\",\"Kubernetes\",\"Registry\"],\"articleSection\":[\"Kubernetes\",\"T\u00fcrk\u00e7e\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/\",\"url\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/\",\"name\":\"Kubernetes \u00dczerinde Docker Registry Kurulumu - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg\",\"datePublished\":\"2019-09-30T07:11:55+00:00\",\"dateModified\":\"2021-06-21T15:42:43+00:00\",\"description\":\"Kubernetes Cluster'\u0131 \u00fczerinde Docker imajlar\u0131n\u0131z\u0131 g\u00fcvenle saklayabilece\u011finiz bir Docker Registry kurulumu i\u00e7in takip etmeniz gereken ad\u0131mlar\u0131 bulabilirsiniz\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg\",\"width\":1800,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kubernetes \u00dczerinde Docker Registry Kurulumu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kubernetes \u00dczerinde Docker Registry Kurulumu - Fatih Boy","description":"Kubernetes Cluster'\u0131 \u00fczerinde Docker imajlar\u0131n\u0131z\u0131 g\u00fcvenle saklayabilece\u011finiz bir Docker Registry kurulumu i\u00e7in takip etmeniz gereken ad\u0131mlar\u0131 bulabilirsiniz","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihboy.com\/en\/kubernetes-uzerinde-docker-registery-kurulumu\/","og_locale":"en_US","og_type":"article","og_title":"Kubernetes \u00dczerinde Docker Registery Kurulumu","og_description":"Kubernetes Cluster'\u0131 \u00fczerinde Docker imajlar\u0131n\u0131z\u0131 g\u00fcvenle saklayabilece\u011finiz bir Docker Registry kurulumu i\u00e7in takip etmeniz gereken ad\u0131mlar\u0131 bulabilirsiniz","og_url":"https:\/\/fatihboy.com\/en\/kubernetes-uzerinde-docker-registery-kurulumu\/","og_site_name":"Fatih Boy","article_published_time":"2019-09-30T07:11:55+00:00","article_modified_time":"2021-06-21T15:42:43+00:00","og_image":[{"width":1800,"height":1200,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg","type":"image\/jpeg"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_title":"Kubernetes \u00dczerinde Docker Registery Kurulumu","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"Kubernetes \u00dczerinde Docker Registry Kurulumu","datePublished":"2019-09-30T07:11:55+00:00","dateModified":"2021-06-21T15:42:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/"},"wordCount":1017,"commentCount":1,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg","keywords":["Docker","Kubernetes","Registry"],"articleSection":["Kubernetes","T\u00fcrk\u00e7e"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/","url":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/","name":"Kubernetes \u00dczerinde Docker Registry Kurulumu - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg","datePublished":"2019-09-30T07:11:55+00:00","dateModified":"2021-06-21T15:42:43+00:00","description":"Kubernetes Cluster'\u0131 \u00fczerinde Docker imajlar\u0131n\u0131z\u0131 g\u00fcvenle saklayabilece\u011finiz bir Docker Registry kurulumu i\u00e7in takip etmeniz gereken ad\u0131mlar\u0131 bulabilirsiniz","breadcrumb":{"@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/09\/old-university-shelves.jpg","width":1800,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/kubernetes-uzerinde-docker-registery-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"Kubernetes \u00dczerinde Docker Registry Kurulumu"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/16018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=16018"}],"version-history":[{"count":1,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/16018\/revisions"}],"predecessor-version":[{"id":33710,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/16018\/revisions\/33710"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/33709"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=16018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=16018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=16018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}