{"id":15550,"date":"2019-07-08T14:13:34","date_gmt":"2019-07-08T11:13:34","guid":{"rendered":"https:\/\/fatihboy.com\/?p=15550"},"modified":"2021-06-16T21:56:58","modified_gmt":"2021-06-16T18:56:58","slug":"glusterfs-heketi-kubernetes-podu-olarak-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/","title":{"rendered":"Gluster, Heketi &#8211; Kubernetes Pod&#8217;u olarak kurulumu"},"content":{"rendered":"<p><a href=\"https:\/\/fatihboy.com\/en\/post\/glusterfs-centos-7-uzerine-heketi-ve-cluster-kurulumu\/\">Bir \u00f6nceki yaz\u0131mda<\/a> sizlere Gluster Cluster kurulumunu anlatm\u0131\u015ft\u0131m. Do\u011frudan i\u015fletim sistemi \u00fczerine kurulumu yap\u0131lan versiyonuna alternatif olarak bu makalemde sizlere Kubernetes pod\u2019u olarak Gluster Cluster\u2019\u0131n\u0131 nas\u0131l kurabilece\u011finizi payla\u015faca\u011f\u0131m.<\/p>\n\n\n\n<p>Ba\u015flarken not olarak d\u00fc\u015fmeliyim ki; Kubernetes&#8217;de Gluster pod&#8217;lar\u0131 ile bir cluster olu\u015fturabilmek i\u00e7in <strong>en az 3 worker node&#8217;lu bir Kubernetes Cluster&#8217;\u0131 gerekmektedir<\/strong>. Ak\u0131\u015f\u0131n kolay anla\u015f\u0131lmas\u0131 ad\u0131na Gluster Cluster&#8217;\u0131nda yetkilendirme aktif hale getirilmeyecektir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cluster Node&#8217;lar\u0131nda Yap\u0131lacak \u0130\u015flemler<\/h2>\n\n\n\n<p>Kubernetes Cluster&#8217;\u0131nda Gluster i\u00e7in kullan\u0131lacak t\u00fcm worker node&#8217;larda a\u015fa\u011f\u0131daki komutla gerekli kernel mod\u00fclleri y\u00fcklenmelidir;<\/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=\"\">modprobe dm_snapshot\nmodprobe dm_mirror\nmodprobe dm_thin_pool<\/pre>\n\n\n\n<p>y\u00fckledi\u011fimiz bu mod\u00fcllerin restartlar sonras\u0131 da aktif olmas\u0131 sa\u011flan\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=\"\">echo dm_snapshot >> \/etc\/modules-load.d\/dm_snapshot.conf\necho dm_mirror >> \/etc\/modules-load.d\/dm_mirror.conf\necho dm_thin_pool >> \/etc\/modules-load.d\/dm_thin_pool.conf<\/pre>\n\n\n\n<p><strong>Redhat sunucularda<\/strong> a\u015fa\u011f\u0131daki i\u00e7erikle <strong>\/etc\/yum.repos.d\/Gluster.repo<\/strong> dosyas\u0131 olu\u015fturulmal\u0131d\u0131r;<\/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=\"\">[gluster6]\nname=Gluster 6 Reposu\nbaseurl=http:\/\/mirror.centos.org\/centos\/7\/storage\/$basearch\/gluster-6\/\ngpgcheck=0\nenabled=1<\/pre>\n\n\n\n<p><strong>Centos 7&#8217;de<\/strong> ise a\u015fa\u011f\u0131daki komutla gerekli RPM depolar\u0131n\u0131n kurulumu yap\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=\"\">yum install -y centos-release-gluster<\/pre>\n\n\n\n<p>A\u015fa\u011f\u0131daki komut yard\u0131m\u0131yla GlusterFS, GlusterFS-Fuse ve Heketi-client paketleri kurulur;<\/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 -y glusterfs glusterfs-fuse heketi-client<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Kubernetes Master&#8217;da Yap\u0131lacak \u0130\u015flemler<\/h2>\n\n\n\n<p>Sunucuda git kurulumu daha \u00f6nceden yap\u0131lmam\u0131\u015f ise git rpm paketi kurulur;<\/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 -y git<\/pre>\n\n\n\n<p>Gluster-Kubernetes github deposu yerele 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=\"\">git clone https:\/\/github.com\/gluster\/gluster-kubernetes.git<\/pre>\n\n\n\n<p>Kopyalama i\u015fleminin bitmesi ard\u0131ndan deploy klas\u00f6r\u00fcne gidilir;<\/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=\"\">cd gluster-kubernetes\/deploy<\/pre>\n\n\n\n<p>Doplay yap\u0131lacak sistem i\u00e7in bir Gluster topoloji tan\u0131m dosyas\u0131 olu\u015fturulur.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki \u00f6rnek i\u00e7eri\u011fe benzer \u015fekilde kendi mimarinize uygun olarak bir <strong>topology.json<\/strong> dosyas\u0131 olu\u015fturulmal\u0131d\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n  \"clusters\": [\n    {\n      \"nodes\": [\n        {\n          \"node\": {\n            \"hostnames\": {\n              \"manage\": [\n                \"k8s-w1\"\n              ],\n              \"storage\": [\n                \"192.168.200.3\"\n              ]\n            },\n            \"zone\": 1\n          },\n          \"devices\": [\n            \"\/dev\/sdb\"\n          ]\n        },\n        {\n          \"node\": {\n            \"hostnames\": {\n              \"manage\": [\n                \"k8s-w2\"\n              ],\n              \"storage\": [\n                \"192.168.200.4\"\n              ]\n            },\n            \"zone\": 1\n          },\n          \"devices\": [\n            \"\/dev\/sdb\"\n          ]\n        },\n        {\n          \"node\": {\n            \"hostnames\": {\n              \"manage\": [\n                \"k8s-w3\"\n              ],\n              \"storage\": [\n                \"192.168.200.5\"\n              ]\n            },\n            \"zone\": 1\n          },\n          \"devices\": [\n            \"\/dev\/sdb\"\n          ]\n        }\n      ]\n    }\n  ]\n}<\/pre>\n\n\n\n<p>\u00d6rnekte 3 Node&#8217;lu bir cluster&#8217;da t\u00fcm node&#8217;larda <strong>\/dev\/sdb<\/strong> disk&#8217;inin oldu\u011fu varsay\u0131lm\u0131\u015ft\u0131r. Farkl\u0131 yap\u0131land\u0131rmalarda bu dosyan\u0131n g\u00fcncel durumu yans\u0131tmas\u0131 gerekmektedir.<\/p>\n\n\n\n<p>gk-deploy&#8217;un bu makaleyi yazd\u0131\u011f\u0131m s\u0131radaki mevcut g\u00fcncel versiyonunda 919. sat\u0131rda yer alana a\u015fa\u011f\u0131daki ifadede ge\u00e7en <strong>&#8211;show-all<\/strong> parametresi g\u00fcncel Kubernetes s\u00fcr\u00fcmlerinden kald\u0131r\u0131lm\u0131\u015ft\u0131r. Bu sebeple g\u00fcncel s\u00fcr\u00fcmlerde i\u015flemlerde hata al\u0131nacakt\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=\"\">heketi_pod=$(${CLI} get pod --no-headers --show-all --selector=\"heketi\" | awk '{print $1}')<\/pre>\n\n\n\n<p>Bu durumu \u00f6nlemek ad\u0131na s\u00f6z konusu sat\u0131r a\u015fa\u011f\u0131daki \u015fekilde d\u00fczenlenmelidir;<\/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=\"\">heketi_pod=$(${CLI} get pod --no-headers --selector=\"heketi\" | awk '{print $1}')<\/pre>\n\n\n\n<p>Yap\u0131lan haz\u0131rl\u0131klardan sonra a\u015fa\u011f\u0131daki komutla kurulum i\u015flemi 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=\"\">.\/gk-deploy -g<\/pre>\n\n\n\n<p>Gelen soruya enter tu\u015funa bas\u0131larak cevap verilmesi ard\u0131ndan yap\u0131land\u0131rma i\u015flemi ba\u015flayacakt\u0131r;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/gk-deploy.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/gk-deploy_thumb.png\" alt=\"gk-deploy\"\/><\/a><\/figure>\n\n\n\n<p>Onay ard\u0131ndan kurulum ve yap\u0131land\u0131rma i\u015flemleri ba\u015flayacakt\u0131r. A\u015fa\u011f\u0131da bu s\u00fcrece dair \u00f6rnek bir \u00e7\u0131kt\u0131 bulabilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Using Kubernetes CLI.\nUsing namespace \"default\".\nChecking for pre-existing resources...\n  GlusterFS pods ... not found.\n  deploy-heketi pod ... not found.\n  heketi pod ... not found.\n  gluster-s3 pod ... not found.\nCreating initial resources ... serviceaccount\/heketi-service-account created\nclusterrolebinding.rbac.authorization.k8s.io\/heketi-sa-view created\nclusterrolebinding.rbac.authorization.k8s.io\/heketi-sa-view labeled\nOK\nnode\/k8s-w1 labeled\nnode\/k8s-w2 labeled\nnode\/k8s-w3 labeled\ndaemonset.extensions\/glusterfs created\nWaiting for GlusterFS pods to start ... OK\nsecret\/heketi-config-secret created\nsecret\/heketi-config-secret labeled\nservice\/deploy-heketi created\ndeployment.extensions\/deploy-heketi created\nWaiting for deploy-heketi pod to start ... OK\nCreating cluster ... ID: 3580dc920a2e1eec511714349bd4d114\nAllowing file volumes on cluster.\nAllowing block volumes on cluster.\nCreating node k8s-w1 ... ID: 4388656de9ae4a6925ff9062ee3f5e23\nAdding device \/dev\/sdb ... OK\nCreating node k8s-w2 ... ID: 6f8ff9702f206a0fe9a473c3bf24ff71\nAdding device \/dev\/sdb ... OK\nCreating node k8s-w3 ... ID: f7a66f77f55af0006f1493609ca89c2e\nAdding device \/dev\/sdb ... OK\nheketi topology loaded.\nSaving \/tmp\/heketi-storage.json\nsecret\/heketi-storage-secret created\nendpoints\/heketi-storage-endpoints created\nservice\/heketi-storage-endpoints created\njob.batch\/heketi-storage-copy-job created\nservice\/heketi-storage-endpoints labeled\npod \"deploy-heketi-865f55765-lfgcc\" deleted\nservice \"deploy-heketi\" deleted\ndeployment.apps \"deploy-heketi\" deleted\nreplicaset.apps \"deploy-heketi-865f55765\" deleted\njob.batch \"heketi-storage-copy-job\" deleted\nsecret \"heketi-storage-secret\" deleted\nservice\/heketi created\ndeployment.extensions\/heketi created\nWaiting for heketi pod to start ... OK\n\nheketi is now running and accessible via http:\/\/10.244.3.3:8080 . To run\nadministrative commands you can install 'heketi-cli' and use it as follows:\n\n  # heketi-cli -s http:\/\/10.244.3.3:8080 --user admin --secret '&lt;admin_key>' cluster list&lt;\/admin_key>\n\nYou can find it at https:\/\/github.com\/heketi\/heketi\/releases . Alternatively,\nuse it from within the heketi pod:\n\n  # \/usr\/bin\/kubectl -n default exec -i heketi-85dbbbb55-jpmv9 -- heketi-cli -s http:\/\/localhost:8080 --user admin --secret '&lt;admin_key>' cluster list&lt;\/admin_key>\n\nFor dynamic provisioning, create a StorageClass similar to this:\n\n---\napiVersion: storage.k8s.io\/v1beta1\nkind: StorageClass\nmetadata:\n  name: glusterfs-storage\nprovisioner: kubernetes.io\/glusterfs\nparameters:\n  resturl: \"http:\/\/10.244.3.3:8080\"\n\nDeployment complete!<\/pre>\n\n\n\n<p>A\u015fa\u011f\u0131daki \u015fekilde kurulum test edilebilir;<\/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 HEKETI_CLI_SERVER=$(kubectl get svc\/heketi --template 'http:\/\/{{.spec.clusterIP}}:{{(index .spec.ports 0).port}}')\ncurl $HEKETI_CLI_SERVER\/hello<\/pre>\n\n\n\n<p>Kurulum&#8217;da bir yetkilendirme bulunmamaktad\u0131r. Dolay\u0131s\u0131yla kullan\u0131c\u0131 ad\u0131 ve \u015fifre belirtilmeksizin a\u015fa\u011f\u0131da \u00f6rneklendi\u011fi i\u015flem yap\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=\"\">export HEKETI_CLI_SERVER=$(kubectl get svc\/heketi --template 'http:\/\/{{.spec.clusterIP}}:{{(index .spec.ports 0).port}}')\nheketi-cli topology info<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Dinamik Atama i\u00e7in Storage Class Olu\u015fturulmas\u0131<\/h2>\n\n\n\n<p>Dinanik atama (dynamic provisioning) i\u00e7in a\u015fa\u011f\u0131daki i\u00e7erik ile olu\u015fturulan <strong>cluster-shared-storage.yaml<\/strong> dosyas\u0131 yard\u0131m\u0131yla Storage class tan\u0131m\u0131n\u0131 haz\u0131rlan\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apiVersion: storage.k8s.io\/v1beta1\nkind: StorageClass\nmetadata:\n  name: glusterfs-storage\nprovisioner: kubernetes.io\/glusterfs\nparameters:\n  resturl: \"http:\/\/10.244.3.3:8080\"<\/pre>\n\n\n\n<p><strong>Not<\/strong>: Bu dosyada 10.244.3.3:8080 adresi yerine kurulum sonucunda mesajla verilen Heketi sunucusu ip adresi kullan\u0131lmal\u0131d\u0131r.<\/p>\n\n\n\n<p>Olu\u015fturulan dosya kullan\u0131larak a\u015fa\u011f\u0131daki komutla&nbsp; StorageClass 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=\"\">kubectl create -f cluster-shared-storage.yaml<\/pre>\n\n\n\n<p>En az bir StorageClass&#8217;\u0131n varsay\u0131lan olarak atanmas\u0131 gerekmektedir. Bu sebeple a\u015fa\u011f\u0131daki komutla&nbsp; <strong>cluster.shared.storage<\/strong> varsay\u0131lan olarak atan\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 patch storageclass glusterfs-storage -p '{\"metadata\": {\"annotations\":{\"storageclass.kubernetes.io\/is-default-class\":\"true\"}}}'<\/pre>\n\n\n\n<p>Olu\u015fturulan StorageClass a\u015fa\u011f\u0131daki \u015fekilde teyit edilebilir;<\/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 get storageclass<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/get-storageclass.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/get-storageclass_thumb.png\" alt=\"get-storageclass\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u00d6rnek<\/h2>\n\n\n\n<p>A\u015fa\u011f\u0131da Nginx Pod&#8217;una 5gb&#8217;l\u0131k alan\u0131n ba\u011flanmas\u0131na dair \u00f6rnek ad\u0131mlar\u0131n\u0131 bulabilirsiniz.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki i\u00e7erik ile olu\u015fturulan <strong>gluster-pvc.yaml<\/strong> dosyas\u0131 yard\u0131m\u0131yla Persistent Volume Claim tan\u0131m\u0131 haz\u0131rlan\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n   name: gluster1\n   annotations:\n      volume.beta.kubernetes.io\/storage-class: glusterfs-storage\nspec:\n   accessModes:\n     - ReadWriteOnce\n   resources:\n     requests:\n       storage: 5Gi<\/pre>\n\n\n\n<p>Olu\u015fturulan dosya yard\u0131m\u0131yla a\u015fa\u011f\u0131daki komutla Persistent Volume Claim 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=\"\">kubectl create -f gluster-pvc.yaml<\/pre>\n\n\n\n<p>Komut sonucu a\u015fa\u011f\u0131daki \u015fekilde kontrol edilebilir;<\/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 get pvc<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/get-pvc-2.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/get-pvc-2_thumb.png\" alt=\"get-pvc [2]\"\/><\/a><\/figure>\n\n\n\n<p>\u00c7\u0131kt\u0131da da g\u00f6r\u00fclece\u011fi \u00fczere yapt\u0131\u011f\u0131m\u0131z kal\u0131c\u0131 depolama alan\u0131 talebimiz kar\u015f\u0131lanarak bize <strong>pvc-<\/strong> de\u011feri ile ba\u015flayan bir depolama alan\u0131 dinamik olarak atanm\u0131\u015f durumda.<\/p>\n\n\n\n<p>Atanan bu alan\u0131 kullanacak <strong>nginx-pod.yaml<\/strong> ad\u0131yla Test Pod tan\u0131m dosyas\u0131 a\u015fa\u011f\u0131daki i\u00e7erikle olu\u015fturulur;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apiVersion: v1\nkind: Pod\nmetadata:\n  name: nginx-pod1\n  labels:\n    name: nginx-pod1\nspec:\n  containers:\n  - name: nginx-pod1\n    image: gcr.io\/google_containers\/nginx-slim:0.8\n    ports:\n    - name: web\n      containerPort: 80\n    volumeMounts:\n    - name: gluster-vol1\n      mountPath: \/usr\/share\/nginx\/html\n  volumes:\n  - name: gluster-vol1\n    persistentVolumeClaim:\n      claimName: gluster1<\/pre>\n\n\n\n<p>Pod 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=\"\">kubectl create -f nginx-pod.yaml<\/pre>\n\n\n\n<p>Pod adresini \u00f6\u011frenmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz;<\/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 get pods -o wide<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/nginx-pod-ip.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/nginx-pod-ip_thumb.png\" alt=\"nginx-pod-ip\"\/><\/a><\/figure>\n\n\n\n<p>Test amac\u0131yla Nginx i\u00e7erisine girilerek index.html dosyas\u0131 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=\"\">kubectl exec -ti nginx-pod1 \/bin\/sh<\/pre>\n\n\n\n<p>Ba\u015flat\u0131lan shell oturumunda a\u015fa\u011f\u0131daki komutlar \u00e7al\u0131\u015ft\u0131r\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=\"\">cd \/usr\/share\/nginx\/html\necho 'Hello World from GlusterFS!!!' > index.html\nexit<\/pre>\n\n\n\n<p>Bu komutlar Pod&#8217;a ba\u011flanan Persistent Volume i\u00e7erisine index.html ad\u0131yla ve belirtilen i\u00e7erikle bir dosya olu\u015fturmam\u0131z\u0131 sa\u011flayacakt\u0131r. Son olarak a\u015fa\u011f\u0131daki komutla Nginx taraf\u0131ndan sunulan sayfaya ula\u015f\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=\"\">curl 10.244.2.184[<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/hello-glusterfs.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2020\/02\/hello-glusterfs_thumb.png\" alt=\"hello-glusterfs\"\/><\/a><\/figure>\n\n\n\n<p>Gluster k\u00fcmesi \u00fczerinde verilen Persistent Volume&#8217;\u00fc teyit i\u00e7in Pod silinip tekrar olu\u015fturulabilir. Yeni pod ip&#8217;si \u00f6\u011frebilerek curl ile yine istek yapt\u0131\u011f\u0131n\u0131zda daha \u00f6nceden olu\u015fturdu\u011funuz i\u00e7eri\u011fin geldi\u011fini g\u00f6rebilirsiniz.<\/p>","protected":false},"excerpt":{"rendered":"<p>Bir \u00f6nceki yaz\u0131mda sizlere Gluster Cluster kurulumunu anlatm\u0131\u015ft\u0131m. Do\u011frudan i\u015fletim sistemi \u00fczerine kurulumu yap\u0131lan versiyonuna alternatif olarak bu makalemde sizlere Kubernetes pod\u2019u olarak Gluster Cluster\u2019\u0131n\u0131 nas\u0131l kurabilece\u011finizi payla\u015faca\u011f\u0131m. Ba\u015flarken not olarak d\u00fc\u015fmeliyim ki; Kubernetes&#8217;de Gluster pod&#8217;lar\u0131 ile bir cluster olu\u015fturabilmek i\u00e7in en az 3 worker node&#8217;lu bir Kubernetes Cluster&#8217;\u0131 gerekmektedir. Ak\u0131\u015f\u0131n kolay anla\u015f\u0131lmas\u0131 ad\u0131na Gluster&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":16847,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[38],"class_list":["post-15550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kubernetes","tag-kubernetes"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Gluster, Heketi - Kubernetes Pod&#039;u olarak kurulumu - Fatih Boy<\/title>\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\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gluster, Heketi - Kubernetes Pod&#039;u olarak kurulumu - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"Bir \u00f6nceki yaz\u0131mda sizlere Gluster Cluster kurulumunu anlatm\u0131\u015ft\u0131m. Do\u011frudan i\u015fletim sistemi \u00fczerine kurulumu yap\u0131lan versiyonuna alternatif olarak bu makalemde sizlere Kubernetes pod\u2019u olarak Gluster Cluster\u2019\u0131n\u0131 nas\u0131l kurabilece\u011finizi payla\u015faca\u011f\u0131m. Ba\u015flarken not olarak d\u00fc\u015fmeliyim ki; Kubernetes&#8217;de Gluster pod&#8217;lar\u0131 ile bir cluster olu\u015fturabilmek i\u00e7in en az 3 worker node&#8217;lu bir Kubernetes Cluster&#8217;\u0131 gerekmektedir. Ak\u0131\u015f\u0131n kolay anla\u015f\u0131lmas\u0131 ad\u0131na Gluster...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-08T11:13:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-16T18:56:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png\" \/>\n\t<meta property=\"og:image:width\" content=\"620\" \/>\n\t<meta property=\"og:image:height\" content=\"310\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\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=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"Gluster, Heketi &#8211; Kubernetes Pod&#8217;u olarak kurulumu\",\"datePublished\":\"2019-07-08T11:13:34+00:00\",\"dateModified\":\"2021-06-16T18:56:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/\"},\"wordCount\":774,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png\",\"keywords\":[\"Kubernetes\"],\"articleSection\":[\"Kubernetes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/\",\"url\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/\",\"name\":\"Gluster, Heketi - Kubernetes Pod'u olarak kurulumu - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png\",\"datePublished\":\"2019-07-08T11:13:34+00:00\",\"dateModified\":\"2021-06-16T18:56:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png\",\"width\":620,\"height\":310},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gluster, Heketi &#8211; Kubernetes Pod&#8217;u olarak 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":"Gluster, Heketi - Kubernetes Pod'u olarak kurulumu - Fatih Boy","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\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/","og_locale":"en_US","og_type":"article","og_title":"Gluster, Heketi - Kubernetes Pod'u olarak kurulumu - Fatih Boy","og_description":"Bir \u00f6nceki yaz\u0131mda sizlere Gluster Cluster kurulumunu anlatm\u0131\u015ft\u0131m. Do\u011frudan i\u015fletim sistemi \u00fczerine kurulumu yap\u0131lan versiyonuna alternatif olarak bu makalemde sizlere Kubernetes pod\u2019u olarak Gluster Cluster\u2019\u0131n\u0131 nas\u0131l kurabilece\u011finizi payla\u015faca\u011f\u0131m. Ba\u015flarken not olarak d\u00fc\u015fmeliyim ki; Kubernetes&#8217;de Gluster pod&#8217;lar\u0131 ile bir cluster olu\u015fturabilmek i\u00e7in en az 3 worker node&#8217;lu bir Kubernetes Cluster&#8217;\u0131 gerekmektedir. Ak\u0131\u015f\u0131n kolay anla\u015f\u0131lmas\u0131 ad\u0131na Gluster...Read More","og_url":"https:\/\/fatihboy.com\/en\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/","og_site_name":"Fatih Boy","article_published_time":"2019-07-08T11:13:34+00:00","article_modified_time":"2021-06-16T18:56:58+00:00","og_image":[{"width":620,"height":310,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png","type":"image\/png"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"Gluster, Heketi &#8211; Kubernetes Pod&#8217;u olarak kurulumu","datePublished":"2019-07-08T11:13:34+00:00","dateModified":"2021-06-16T18:56:58+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/"},"wordCount":774,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png","keywords":["Kubernetes"],"articleSection":["Kubernetes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/","url":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/","name":"Gluster, Heketi - Kubernetes Pod'u olarak kurulumu - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png","datePublished":"2019-07-08T11:13:34+00:00","dateModified":"2021-06-16T18:56:58+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2019\/07\/kubernetes-GlusterFS-pod.png","width":620,"height":310},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/glusterfs-heketi-kubernetes-podu-olarak-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"Gluster, Heketi &#8211; Kubernetes Pod&#8217;u olarak 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\/15550","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=15550"}],"version-history":[{"count":1,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/15550\/revisions"}],"predecessor-version":[{"id":33145,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/15550\/revisions\/33145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/16847"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=15550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=15550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=15550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}