Elastic Cloud on Kubernetes (ECK) Nedir ve Nasıl Kurulur?
Elastic Cloud on Kubernetes (ECK); Elasticsearch, Kibana, APM Server, Beats, Enterprise Search, Elastic Agent, Elastic Maps Server ve Logstash gibi Elastic Stack uygulamalarını Kubernetes'te otomatik olarak dağıtmak, provision etmek, yönetmek ve orkestre etmek için Elastic tarafından sağlanan resmi operatördür.
Kubernetes operator pattern'i temel alan ECK, Kubernetes'in dağıtım, ölçeklendirme ve otomasyon yeteneklerini kullanarak Elastic Stack uygulamalarının kurulumunu ve yönetimini kolaylaştırır. Böylece, Elastic Stack uygulamalarını Kubernetes'in YAML dosyalarıyla dağıtabilirsiniz. Bu da, Elastic Stack uygulamalarını Kubernetes'te dağıtmayı ve yönetmeyi daha kolay ve esnek hale getirir.
1. ECK Stack Kurulumu
ECK sayesinde, Elastic Stack uygulamalarını manual dağıtmak yerine hazırladığımız YAML manifest dosyalarıyla Kubernetes cluster'ımız için otomatik olarak kurabiliriz.
ECK ile kurabileceğimiz uygulamaların listesi şu şekildedir:
- Elasticsearch,
- Kibana,
- Logstash,
- Beats,
- Elastic Agent,
- APM Server,
- Enterprise Search,
- Elastic Maps Server,
Bu yazıda bir Kubernetes cluster üzerinde baştan sona nasıl bir ECK stack kuracağımızı anlatacağız. Yapacağımız kurulumlar ise şu şekilde olacak:
- ECK Operator ve CRD kurulumu
- kube-state-metrics kurulumu
- Elasticsearch kurulumu
- Kibana kurulumu
- Fleet Server kurulumu
- Elastic Agent kurulumu
- APM Server kurulumu
1.1. ECK Operator ve CRD Kurulumu
ECK ile uygulamalarımızı kurabilmek için öncelikle operator ve CRD kurulumunu yapmamız gerekiyor.
Operator ve CRD kurulumunu tamamlamak için sadece şu iki manifesti kurmanız yeterlidir. Aşağıdaki komutları direkt cluster'ınızda çalıştırabilirsiniz:
kubectl create -f https://download.elastic.co/downloads/eck/2.9.0/crds.yaml
kubectl apply -f https://download.elastic.co/downloads/eck/2.9.0/operator.yaml
Kurulum hazırlıklarımız burada tamamlandı. Eğer ECK operator loglarını görmek isterseniz şu komutu çalıştırabilirsiniz:
kubectl -n elastic-system logs -f statefulset.apps/elastic-operator
1.2. Kube State Metrics Kurulumu
kube-state-metrics (KSM), Kubernetes API Server'ı dinleyen ve resource'ların durumu hakkında metricler üreten bir servistir.
Kubernetes cluster'ımızdaki resource'ların metriclerini Kibana dashboard üzerinde gösterebilmek için de kube-state-metrics
kullanacağız. Bunun için Kibana manifesti içindeki fleet paketlerine kubernetes isimli paketi ekleyeceğiz (şimdilik bu başlıkta bir şey yapmaya gerek yok).
xpack.fleet.packages:
- name: kubernetes
version: latest
Geriye sadece kube-state-metrics
kurulumu kalıyor. Bunun için aşağıdaki linkte yer alan repodaki examples/standard
dizinini kubectl apply
komutu ile çalıştırabilirsiniz.
kubectl apply -f examples/standard
1.3. Elasticsearch Kurulumu
Elasticsearch, Apache Lucene altyapısı üzerinde geliştirilmiş, dağıtık bir arama ve analiz altyapısıdır. Büyük miktarda metin, sayısal ve JSON verisini hızlı ve kolay bir şekilde aramanıza ve analiz etmenize olanak tanır.
ECK içindeki rolü, Elastic Stack'in veri depolama ve arama katmanı olarak hizmet etmektir.
ECK ile, Elasticsearch'ü Kubernetes'e kolayca dağıtıp yönetebiliriz. Bunun için, aşağıdaki manifesti kubectl apply
komutu ile çalıştırabilirsiniz.
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: elasticsearch
namespace: default
spec:
version: 8.9.1
nodeSets:
- name: default
count: 1
config:
node.store.allow_mmap: false
volumeClaimTemplates:
- metadata:
name: elasticsearch-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 40Gi
Bu manifest ile, 40Gi depolama alanına sahip ve sadece 1 node'dan oluşan bir Elasticsearch kurulumu yapmış oluyoruz.
Kurulumun durumunu görmek için kubectl get elasticsearch
komutunu çalıştırabilirsiniz. Yaklaşık 3-4dk sonra Elasticsearch çalışır hale gelecektir.
# kubectl get elasticsearch
NAME HEALTH NODES VERSION PHASE AGE
elasticsearch green 1 8.9.1 Ready 1m
Ekstra kontrol olarak pod listesinden elasticsearch podlarını izleyebilir ve detayları ile loglarını kontrol edebilirsiniz.
kubectl get pods --selector='elasticsearch.k8s.elastic.co/cluster-name=elasticsearch'
NAME READY STATUS RESTARTS AGE
elasticsearch-es-default-0 1/1 Running 0 238s
kubectl logs -f elasticsearch-es-default-0
Elasticsearch'e erişebilmek ve istek atabilmek için ise otomatik olarak kurulan service resource'u kullanabilirsiniz.
# kubectl get service elasticsearch-es-http
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch-es-http ClusterIP 10.15.251.145 <none> 9200/TCP 34m
elastic
isimli kullanıcıya ait parola ise yine Secret resource olarak cluster'a eklenecektir. Parolayı açığa çıkarmak için base64 decode kullanabilirsiniz.
PASSWORD=$(kubectl get secret elasticsearch-es-elastic-user -o go-template='{{.data.elastic | base64decode}}')
Ve artık Kubernetes cluster'ınız içinde elasticsearch servisine istek atabilirsiniz:
curl -u "elastic:$PASSWORD" -k "https://elasticsearch-es-http:9200"
{
"name" : "elasticsearch-es-default-0",
"cluster_name" : "quickstart",
"cluster_uuid" : "XqWg0xIiRmmEBg4NMhnYPg",
"version" : {...},
"tagline" : "You Know, for Search"
}
Eğer cluster dışından erişmek istiyorsanız service'i kubectl port-forward
ile dışarı açmalısınız.
kubectl port-forward service/elasticsearch-es-http 9200
1.4. Kibana Kurulumu
Kibana, Elastic Stack'in görselleştirme ve raporlama aracıdır. Büyük miktarda veriyi görselleştirmenize ve analiz etmenize olanak tanır.
ECK içindeki rolü, Elastic Stack'in görselleştirme ve raporlama katmanı olarak hizmet etmektir. ECK, Kibana'yı Kubernetes'e dağıtır ve yönetir. Bu, Kibana'yı Kubernetes'teki diğer uygulamalarla birlikte kolayca dağıtmanızı ve yönetmenizi sağlar.
ECK ile, Kibana'yı Kubernetes'e kolayca dağıtıp yönetebiliriz. Bunun için, aşağıdaki manifesti kubectl apply
komutu ile çalıştırabilirsiniz.
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana
spec:
version: 8.9.2
count: 1
elasticsearchRef:
name: elasticsearch
Gördüğünüz gibi Kibana'yı çalıştırmak ECK ile bu kadar basit. Fakat bu yazıda diğer kurulumlarıda yapacağımız için aşağıdaki manifesti kullanacağız. Böylece APM Server, Fleet Server ve kubernetes metrics paketinin de kurulumunu aradan çıkarmış olacağız.
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana
namespace: default
spec:
version: 8.9.1
count: 1
elasticsearchRef:
name: elasticsearch
http:
service:
spec:
type: NodePort
config:
xpack.fleet.agents.elasticsearch.hosts: ["https://elasticsearch-es-http.default.svc:9200"]
xpack.fleet.agents.fleet_server.hosts: ["https://fleet-server-agent-http.default.svc:8220"]
xpack.fleet.packages:
- name: system
version: latest
- name: elastic_agent
version: latest
- name: fleet_server
version: latest
- name: kubernetes
version: latest
- name: apm
version: latest
xpack.fleet.agentPolicies:
- name: Fleet Server on ECK policy
id: eck-fleet-server
namespace: default
monitoring_enabled:
- logs
- metrics
unenroll_timeout: 900
package_policies:
- name: fleet_server-1
id: fleet_server-1
package:
name: fleet_server
- name: Elastic Agent on ECK policy
id: eck-agent
namespace: default
monitoring_enabled:
- logs
- metrics
unenroll_timeout: 900
package_policies:
- name: system-1
id: system-1
package:
name: system
- name: kubernetes-1
id: kubernetes-1
package:
name: kubernetes
- name: apm-1
id: apm-1
package:
name: apm
inputs:
- type: apm
enabled: true
vars:
- name: host
value: cluster
- name: url
value: https://apm-server-apm-http.default.svc:8200
Kurulumun durumunu görmek için kubectl get kibana
komutunu çalıştırabilirsiniz. Yaklaşık 3-4dk sonra Kibana çalışır hale gelecektir.
# kubectl get kibana
NAME HEALTH NODES VERSION PHASE AGE
kibana green 1 8.9.1 Ready 1m
Ekstra kontrol olarak pod listesinden kibana podlarını izleyebilir ve detayları ile loglarını kontrol edebilirsiniz.
kubectl get pods --selector='kibana.k8s.elastic.co/cluster-name=kibana'
Kibana'ya erişebilmek ve istek atabilmek için ise otomatik olarak kurulan service resource'u kullanabilirsiniz. Kullandığımız manifest dosyasında, Kibana'ya kolay erişebilmek için tipini NodePort ayarladık.
# kubectl get service kibana-es-http
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kibana-es-http NodePort 10.15.251.138 <none> 5601:30123/TCP 18m
elastic isimli kullanıcıya ait parola ise yine Secret resource olarak cluster'a eklenecektir. Parolayı açığa çıkarmak için base64 decode kullanabilirsiniz.
kubectl get secret elasticsearch-es-elastic-user -o=jsonpath='{.data.elastic}' | base64 --decode; echo
Kibana arayüzüne girebilmek için https://<node-ip-adresi:node-port>
adresini ziyaret edip (port ve node ip adresi sizde değişebilir), elastic kullanıcı adı ve secrettan elde ettiğiniz parolayı kullanabilirsiniz.
1.5. Fleet Server Kurulumu
Fleet, Kibana'da Elastic Agent'ların merkezi olarak kurulmasına, yönetilmesine ve konfigüre edilmesine yönelik web tabanlı bir kullanıcı arayüzüdür. Fleet Server ise agent'ların verilerini toplayan ve policy'leri yöneten merkezdir.
ECK içindeki rolü, Elastic Stack agentlarının dağıtımını ve yönetimini otomatikleştirmektir.
ECK ile, Fleet Server'ı Kubernetes'e kolayca dağıtıp yönetebiliriz. Bunun için, aşağıdaki manifesti kubectl apply
komutu ile çalıştırabilirsiniz.
apiVersion: agent.k8s.elastic.co/v1alpha1
kind: Agent
metadata:
name: fleet-server
namespace: default
spec:
version: 8.9.1
kibanaRef:
name: kibana
elasticsearchRefs:
- name: elasticsearch
mode: fleet
fleetServerEnabled: true
policyID: eck-fleet-server
deployment:
replicas: 1
podTemplate:
spec:
serviceAccountName: fleet-server
automountServiceAccountToken: true
securityContext:
runAsUser: 0
Manifestte belirttiğimiz fleet-server service account'u ise şu manifestle oluşturabilirsiniz:
apiVersion: v1
kind: ServiceAccount
metadata:
name: fleet-server
namespace: default
Cluster role manifestimiz ise şu şekilde olacak:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: fleet-server
rules:
- apiGroups: [""]
resources:
- pods
- namespaces
- nodes
verbs:
- get
- watch
- list
- apiGroups: ["coordination.k8s.io"]
resources:
- leases
verbs:
- get
- create
- update
Son olarak ise Cluster Role Binding ile rolü aktif ediyoruz:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: fleet-server
subjects:
- kind: ServiceAccount
name: fleet-server
namespace: default
roleRef:
kind: ClusterRole
name: fleet-server
apiGroup: rbac.authorization.k8s.io
Ayrıca Fleet Server'ın Kibana ile bağlantısını sağlayabilmek ve gerekli agentları kurabilmek için Kibana manifestine şu satırları zaten eklemiştik:
config:
xpack.fleet.agents.elasticsearch.hosts: ["https://elasticsearch-es-http.default.svc:9200"]
xpack.fleet.agents.fleet_server.hosts: ["https://fleet-server-agent-http.default.svc:8220"]
xpack.fleet.packages:
- name: system
version: latest
- name: elastic_agent
version: latest
- name: fleet_server
version: latest
- name: kubernetes
version: latest
- name: apm
version: latest
xpack.fleet.agentPolicies:
***
***
***
Bir sonraki başlıkta Elastic Agent kurulumunu da tamamladıktan sonra Kibana Fleet sayfasından baktığımızda artık Fleet server'ı, policy'leri ve agent'ları görebileceğiz.
Ayrıca kubectl get agent
komutuyla agent'ın durumunu da inceleyebilirsiniz.
# kubectl get agent
NAME HEALTH AVAILABLE EXPECTED VERSION AGE
fleet-server green 1 1 8.9.1 17m
1.6. Elastic Agent Kurulumu
Elastic Agent, bir host üzerindeki logları, metricleri ve diğer veri türlerini izlemenin ve toplamanın basitleştirilmiş ve birleştirilmiş yoludur. Tek bir agent ile, izlemeyi tüm altyapınız genelinde dağıtmayı daha kolay ve daha hızlı hale getirirsiniz.
Aşağıdaki şemada gösterildiği gibi, Elastic Agent, dağıtıldığı hostu izleyebilir ve doğrudan dağıtımın mümkün olmadığı uzak hizmetlerden ve donanımlardan veri toplayıp iletebilir.
Elastic Agent, Beat agentlarının ayrı ayrı yaptığı işlemleri tek bir agent altında toplar. Bu nedenle filebeat, metricbeat ve heartbeat beat'lerini tek tek hostlara dağıtmak yerine tek bir elastic agent ile işlerimizi kolaylaştırabiliriz.
Bu sebeple bu yazıda Elastic Agent kurulumu yapacağız. Yine de siz beat ve Logstash ile yola devam etmek veya arasındaki farkları görmek isterseniz şu linkleri inceleyebilirsiniz:
ECK ile, Elastic Agent'ı Kubernetes'e kolayca dağıtıp yönetebiliriz. Bunun için, aşağıdaki manifesti kubectl apply
komutu ile çalıştırabilirsiniz.
apiVersion: agent.k8s.elastic.co/v1alpha1
kind: Agent
metadata:
name: elastic-agent
namespace: default
spec:
version: 8.9.1
kibanaRef:
name: kibana
fleetServerRef:
name: fleet-server
mode: fleet
policyID: eck-agent
daemonSet:
podTemplate:
spec:
serviceAccountName: elastic-agent
automountServiceAccountToken: true
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
securityContext:
runAsUser: 0
Bu manifestte, agent'ın Kibana ve Fleet Server ile bağlantısını da sağlıyoruz. Ayrıca agent'ın cluster'ın çalıştığı node'lardaki dns kayıtlarına erişebilmesi için hostNetwork: true
ve dnsPolicy: ClusterFirstWithHostNet
parametrelerini de ekliyoruz.
Manifestte belirttiğimiz elastic-agent
service account'u ise şu manifestle oluşturabilirsiniz:
apiVersion: v1
kind: ServiceAccount
metadata:
name: elastic-agent
namespace: default
Cluster role manifestimiz ise şu şekilde olacak:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: elastic-agent
rules:
- apiGroups: [""]
resources:
- '*'
verbs:
- '*'
- apiGroups: ['*']
resources:
- '*'
verbs:
- '*'
- nonResourceURLs:
- "/metrics"
verbs:
- get
Son olarak ise Cluster Role Binding ile rolü aktif ediyoruz:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: elastic-agent
subjects:
- kind: ServiceAccount
name: elastic-agent
namespace: default
roleRef:
kind: ClusterRole
name: elastic-agent
apiGroup: rbac.authorization.k8s.io
Ardından kubectl get agent
komutuyla agent'ın durumunu da inceleyebilirsiniz.
# kubectl get agent
NAME HEALTH AVAILABLE EXPECTED VERSION AGE
elastic-agent green 1 1 8.9.1 12m
fleet-server green 1 1 8.9.1 34m
1.7. APM Server Kurulumu
APM Server, Elastic Stack'in Application Performance Monitoring (APM) aracıdır. Uygulamaların performansını, kullanılabilirliğini ve hatalarını ölçmek, izlemek ve analiz etmek için kullanılır.
ECK içindeki rolü, uygulamalardan verileri toplamak ve Elastic Stack uygulamalarına göndermektir. Böylece uygulamanızı Kibana üzerinden kolayca monitor edebilirsiniz.
ECK ile, Elastic Agent'ı Kubernetes'e kolayca dağıtıp yönetebiliriz. Bunun için, aşağıdaki manifesti kubectl apply
komutu ile çalıştırabilirsiniz.
apiVersion: apm.k8s.elastic.co/v1
kind: ApmServer
metadata:
name: apm-server
namespace: default
spec:
version: 8.9.1
count: 1
elasticsearchRef:
name: elasticsearch
kibanaRef:
name: kibana
http:
service:
spec:
type: NodePort
Ardından Kibana arayüzünde yer alan Observability modülüne giriyoruz.
APM menüsündeki Install Agent
seçeneğini kullanarak APM Server'ın doğru kurulup kurulmadığını kontrol ediyoruz.
APM Server'ın kurulu olduğunu doğruladıktan sonra sayfanın biraz altında yer alan programlama dillerinden uygulamanıza uygun olanı seçip talimatları görüntüleyebilirsiniz.
Örneğin, bir Java uygulaması için öncelikle jar uzantılı agent dosyasını indiriyoruz ve ardından çalıştırmamız gereken uygulama dosyasını şu benzeri komutla çalıştırıyoruz:
java -javaagent:elastic-apm-agent-1.42.0.jar \
-Delastic.apm.service_name=kerteriz-blog \
-Delastic.apm.secret_token=Gvel51D63c56381fDPYYEod6 \
-Delastic.apm.server_url=https://45.32.157.120:31526 \
-Delastic.apm.environment=dev-env \
-Delastic.apm.application_packages=net.kerteriz \
-Delastic.apm.verify_server_cert=false \
-jar kerteriz-blog-app.jar
Bu komutta elde etmeniz gereken değerler secret_token
ve server_url
değerleridir:
secret_token
değerini cluster'a otomatik olarak eklenenapm-server-apm-token
secret değerinin base64 decode edilmiş değerini kullanacağız.
kubectl get secret apm-server-apm-token -o go-template='{{.data.elastic | base64decode}}'
server_url
değeri ise uygulamanızın APM Server'a bağlanacağı adrestir. Biz service'i NodePort tipinde açtığımız için (bkz. yukarıdaki manifest) node IP adresi ve port'unu kullanacağız.
# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
apm-server-apm-http NodePort 10.108.250.139 <none> 8200:31526/TCP 21s
Ve artık uygulamamız başladığında bağlantının kurulduğunu console üzerinden teyit ediyoruz.
Ardından kaldığımız yerden devam ederek Check agent status
ile agent'ın çalıştığını doğrulayıp Launch APM
ile service paneline ulaşabilirsiniz.
Ve süper! Artık uygulamamızı Kibana üzerinden takip edebileceğiz.
Üstelik APM, uygulamanız dahilinde çok detaylı ve faydalı metricleri size sunarak gelişmiş seviyede debug etmenizi de sağlayacaktır.
2. ECK Metriclerine Genel Bakış
ECK ile, tüm farklı uygulamaları ayrı ayrı kurup tüm hostlara agent'ları deploy etmekle uğraşmak yerine, basit birkaç yaml manifest ile tüm cluster geneline uygulamalarımızı kolayca dağıtabildik. Üstelik tüm bileşenler birbirleriyle uyum halinde çalışacak şekilde ayarlanmış oldu.
Kurulumları hızlıca tamamladıktan sonra artık hangi metriclere ve verilere erişebildiğimize özetle bakalım. Fakat öncesinde tüm detaylı metriclere erişebilmemiz için yapmamız gereken son bir şey kaldı.
Kibana ana sayfasında yer alan Management alanından Monitor the stack linkine tıklayınız.
Ardından sırayla "Or, set up with self monitoring" ve "Turn on monitoring" seçeneklerini seçiniz.
İşte şimdi detaylıca hangi metriclere erişebileceğimizi inceleyelim.
2.1. Kubernetes Cluster Metricleri
Fleet sayesinde kubernetes
integration paketini kurduktan sonra kube-state-metrics
ve elastic-agents
sayesinde cluster'a dair çok detaylı veriler elde edebiliyoruz.
Kubernetes cluster'ınıza dair metriclere ulaşabilmek için Kibana ana sayfasından önce Analytics, ardından Dashboard kısmına girerek Kubernetes Overview sayfasına ulaşabilirsiniz.
Kubernetes Overview sayfasında tüm cluster genelinde oldukça detaylı metricler ve veriler sizi bekliyor olacak.
Kubernetes cluster'ınız ile ilgili daha birçok detaylı veriye en üstte yer alan bağlantılardan ulaşabilirsiniz.
Kubernetes cluster'ınız için erişebileceğiniz veriler sadece Analytics ile de kısıtlı değil. Daha fazla metric ve veri için önce Observability, ardından Inventory sayfasına ulaşabilirsiniz.
Ve açılan sayfadan detaylı verileri inceleyebilirsiniz.
2.2. Host Metricleri
ECK stack, sadece Kubernetes cluster için değil, aynı zamanda hostlarınız içinde metricleri toplayıp size sunar.
Host'lara dair metriclere ulaşabilmek için Kibana ana sayfasından önce Analytics, ardından Dashboard kısmına girerek Host Overview sayfasına ulaşabilirsiniz.
Host Overview sayfasında hostlarınızla alakalı sistem verilerini görebilirsiniz.
Hostlar için erişebileceğiniz veriler sadece Analytics ile de kısıtlı değil. Daha fazla metric ve veri için önce Observability, ardından Hosts sayfasına ulaşabilirsiniz.
Ve açılan sayfadan detaylı verileri inceleyebilirsiniz.
2.3. Agent Metricleri
ECK stack ile kurduğunuz agent'ların durumlarını izlemenizde kritiktir. Bu sebeple yine birçok kullanışlı veri görselleştirilmiş.
Agent'lara dair metriclere ulaşabilmek için Kibana ana sayfasından önce Analytics, ardından Dashboard kısmına girerek [Elastic Agent] Overview sayfasına ulaşabilirsiniz.
Host Overview sayfasında hostlarınızla alakalı sistem verilerini görebilirsiniz.
2.4. Log Kayıtları
Kibana'nın bizler için sunduğu görsel grafiklerin dışında Elasticsearch üzerindeki tüm kayıtlara da yine Kibana aracılığıyla ulaşabilirsiniz.
Elasticsearch üzerindeki loglara erişebilmek için ana sayfadaki Analytics kutucuğuna tıklayın ve ardından Discover seçeneğini seçiniz. Ardından logları detaylıca görebilir, filtreleyebilir ve inceleyebilirsiniz.
3. Özet
ECK, Elastic Cluster on Kubernetes, ile bir stackte yer alması Elasticsearch, Kibana, APM Server ve beat'ler gibi bileşenler ve agentları tek tek kurmak ve yapılandırmak yerine basit birkaç manifest ile tüm stack'i ayağa kaldırmış olduk. Üstelik çok detaylı ve önemli veriler halihazırda toplanıp gösterilir hale geldi.
ECK, bu yazıdaki özetin dışında daha birçok parametre ve yapılandırma ögesine sahip. Eğer incelemek isterseniz aşağıdaki linkten döküman sayfasına gidebilirsiniz.
Ayrıca bu yazıdaki tüm manifest dosyalarına aşağıdaki repodan da erişebilirsiniz.
Eğer sormak istediğiniz sorular varsa aşağıdaki yorum alanından iletebilirsiniz.