Home TürkçeKubernetes Bulutta IDE : Eclipse Che

Bulutta IDE : Eclipse Che

by Fatih Boy
0 comment

Giderek herşeyin buluta taşındığı günümüzde, yazılım geliştirme için kullandığımız IDE’lerin de halkadaki yerlerini almaları kaçınılmaz. Bu konuda başı çeken Eclipse ailesinin üyesi ise Eclipse Che. Eclipse Che, Eclipse Foundation’ın yeni nesil IDE ve platformudur. Geliştirici çalıştırma alanı ve bulut tabanlı IDE’den oluşmaktadır. İlk Kubernetes-native IDE olma özelliğine sahiptir.

Eclipse Che Docker, Kubernetes, Openshift gibi konteynar tabanlı sistemlerde geliştiriciler için çalışma alanları oluşturur ve bu çalışma alanlarını yönetir. Masaüstü IDE’lerde olduğu gibi kaynak kod sunucusuna başlanarak işlem yapabilir, modern editor desteğine sahip olabilirsiniz. Bulutta bir IDE’nin kaçınılmaz olarak sunduğu ekip işbirliği, dağıtık çalışma alanı ve herhangi bir cihazda çalışmaya olanak sunan taşınabilirlik öne çıkan özellikleri arasındadır.

Eclipse Che 7 ile birlikte ivmelenen proje, geniş bir yelpazede eklenti desteğine de sahip. Geliştirdiğiniz uygulamaların derlemeniz ve hata ayıklamanız için ihtiyaç duyduğunuz araçları bünyesinde barındırmakta. Eclipse Theia‘nın gelişmiş bir versiyonu olan Eclipse Che IDE’si tarayıcı üzerinde sunduğu editor deneyimi ile Visual Studio Code’u aratmamakta. Eclipse Theia’nın eklenti yapısının Visual Studio Code eklenti yapısı ile önemli oranda örtüşmesi nedeniyle pek çok Visual Studio Code eklentisi Eclipse Che IDE’sinde kullanılabilir.

Kubernetes Üzerinde Eclipse Che Kurulumu

Aşağıdaki adımlar takip edilerek Kubernetes Cluster’ı üzerinde Eclipse Che kurulumu yapılabilir. Kurulum ön gereksinimi olarak Kubernetes Cluster’ınızda Operator Lifecycle Manager kurulu olmalıdır. Operator Lifecycle Manager kurulum adımlarını önceki makalemde bulabilirsiniz.

Kubernetes üzerinde Eclipse Che kurulumu için OperatorHub’ta bir operator bulunmaktadır. Aşağıdaki komut yardımıyla Operator Hub’ta yer alana Eclipse Che operator‘ü kurulur;

kubectl create -f https://operatorhub.io/install/eclipse-che.yaml

Bu komut my-eclipse-che namespace’i altına Eclipse Che operator’ünü kuracaktır. Aşağıdaki komutla operator durumu kontrol edilebilir;

kubectl get pods -n my-eclipse-che

Alternatif olarak aşağıdaki komutla operator kurulumu kontrol edilebilir;

kubectl get csv -n my-eclipse-che

Eclipse Che operator’ünün kurulması ardından Eclipse Che Cluster’ı kurabilmek için gerekli olan CheCluster CRD tanımı kullanıma hazır hale gelecektir. Aşağıdaki komutla my-eclipse-che.yaml dosyası oluşturulur;

cat > my-eclipse-che.yaml <<EOF
apiVersion: org.eclipse.che/v1
kind: CheCluster
metadata:
  name: eclipse-che
spec:
  k8s:
    ingressDomain: 'ide-192-168-200-3.enterprisecoding.io'
    tlsSecretName: ''
  server:
    cheImageTag: ''
    devfileRegistryImage: ''
    pluginRegistryImage: ''
    tlsSupport: false
    selfSignedCert: false
  database:
    externalDb: false
    chePostgresHostName: ''
    chePostgresPort: ''
    chePostgresUser: ''
    chePostgresPassword: ''
    chePostgresDb: ''
  auth:
    identityProviderImage: ''
    externalIdentityProvider: false
    identityProviderURL: ''
    identityProviderRealm: ''
    identityProviderClientId: ''
  storage:
    pvcStrategy: per-workspace
    pvcClaimSize: 1Gi
    preCreateSubPaths: true
EOF

Bu komutun 8. satırında yer alan Ingress domain değeri ide-192-168-200-3.enterprisecoding.io yerine kendi ingress domain değerinizi yazmalısınız. Bunun için benim kullandığım şekilde dinamik DNS kaydı oluşturabildiğiniz enterprisecoding.io alan adını kullanabilirsiniz. 192-168-200-3 ifadesi yerine kendi Kubernetes Cluster’ınızdaki Ingress Controller ip’sini verebilirsiniz. Alternatif olarak kullanabileceğiniz wildcard dns hizmetleri için daha önce paylaştığım makalemi okuyabilirsiniz.

CheCluster custom resource definiton için kullanılabilecek değerler için Eclipse Che gelişmek yapılandırmaları sayfası incelenebilir.

CheCluster CRD’sini aşağıdaki komutla tanımlayınız;

kubectl create -f my-eclipse-che.yaml -n my-eclipse-che

Kurulum durumu aşağıdaki komutla operator loglarında takip edilebilir;

kubectl logs -f -n my-eclipse-che $(kubectl get pods --selector=app=che-operator -n my-eclipse-che -o name)
Eclipse Che operator log'ları

Kurulumun başarıyla sonlanması ile birlikte Eclipse Che URL’si ekrana yazılacaktır. Bu durum aşağıdaki komutla takip edilebilir;

kubectl logs -f -n my-eclipse-che $(kubectl get pods --selector=app=che-operator -n my-eclipse-che -o name) | grep "Eclipse Che is now available"

Alternatif olarak url aşağıdaki komutla da öğrenilebilir;

kubectl describe checluster/eclipse-che -n my-eclipse-che

Url tarayıcıda açıldığında keycloak login sayfasına yönlendirilecektir;

Eclipse Che giriş sayfası

Varsayılan kullanıcı adı ve şifresi admin ile sisteme giriş yapılabilir. Açılan Dashboard sayfasında angular-realworld-example-app projesi seçilerek Create & Open butonuna basılarak örnek proje başlatılabilir;

Kullanıcı ve Grup Yönetimi

Eclipse Che kullanıcı ve grup işlemleri Keycloak uygulaması üzerinde yönetilmektedir. Keycloak arayüzüne aşağıdaki adres üzerinden erişilebilir;

http://keycloak-my-eclipse-che.[ingress domain]/auth/

Örneğin;

http://keycloak-my-eclipse-che.ide-192-168-200-3.enterprisecoding.io/auth/

Keycloak’a admin kullanıcısı eklemek için aşağıdaki komutla pod konsoluna girilir;

kubectl exec -it -n my-eclipse-che $(kubectl get pods --selector=app=che,component=keycloak -n my-eclipse-che -o name) bash

Pod içerisinde aşağıdaki komut çalıştırılarak kullanıcı eklenir;

./keycloak/bin/add-user-keycloak.sh -r master -u [KULLANICI_ADI] -p [ŞİFRE]

Değişikliklerin algılanması için reload edilir;

./keycloak/bin/jboss-cli.sh --connect command=:reload

Şu Yazıları da Sevebilirsiniz

Leave a Comment

* Bu formu kullanarak, verilerinizin bu web sitesi tarafından saklanması ve kullanılmasını kabul ediyorsunuz.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bunu kabul ettiğinizi varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul Et Daha Fazla Bilgi