Mac OS X’te geliştirme ortamınızı ayarlama
Mac OS X kullanarak Linux kümelerinde çalışacak Service Fabric uygulamaları derleyebilirsiniz. Bu belgede Mac’inizi geliştirme için nasıl ayarlayacağınız ele alınmaktadır.
Önkoşullar
Service Fabric, OS X üzerinde yerel olarak çalışmaz. Yerel bir Service Fabric kümesini çalıştırmak için önceden yapılandırılmış bir Docker kapsayıcı görüntüsü sağlanır. Başlamadan önce şulere ihtiyacınız olacak:
İpucu
Docker’ı Mac bilgisayarınıza yüklemek için Docker belgelerinde gösterilen adımları izleyebilirsiniz. Yükleme sonrasında Docker Desktop'ı kullanarak kaynak sınırları ve disk kullanımı gibi tercihleri değiştirebilirsiniz.
Yerel bir kapsayıcı oluşturma ve Service Fabric’i ayarlama
Yerel bir Docker kapsayıcısı ayarlamak ve üzerinde bir Service Fabric kümesi çalıştırmak için şu adımları uygulayın:
Ana bilgisayarınızda Docker daemon yapılandırmasını şu ayarlarla güncelleştirin ve Docker daemon programını yeniden başlatın:
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }Bu ayarları doğrudan Docker yükleme yolunuzdaki daemon.json dosyasında güncelleştirebilirsiniz. Docker'da daemon yapılandırma ayarlarını doğrudan değiştirebilirsiniz. Docker simgesi’ni ve ardından Tercihler > Daemon > Gelişmiş’i seçin.
Not
Dosyada dosyanın konumu makineden makineye farklılık göstere daemon.jsDocker'da daemon'ın değiştirilmesi önerilir. Örneğin, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
İpucu
Büyük uygulamaları test ederken Docker’a ayrılan kaynakların artırılmasını öneririz. Docker Simgesi seçilip ardından çekirdek sayısını ve belleği ayarlamak için Gelişmiş öğesi seçilerek bu yapılabilir.
Kümeyi başlatma.
Ubuntu 18.04 LTS:docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18Ubuntu 16.04 LTS:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u16İpucu
Varsayılan olarak bu, görüntüyü Service Fabric’in en son sürümüyle çeker. Belirli düzeltmeler için lütfen Service Fabric Onebox sayfasını Docker Hub.
İsteğe bağlı: Genişletilmiş Service Fabric oluşturma.
Yeni bir dizinde, özelleştirilmiş görüntülerinizi
Dockerfileoluşturmak için adlı bir dosya oluşturun:Not
Kapsayıcınıza ek programlar veya bağımlılıklar eklemek için yukarıdaki görüntüyü Dockerfile ile uyarabilirsiniz. Örneğin,
RUN apt-get install nodejs -ykomutu eklendiğinde, konuk yürütülebilir dosyaları olaraknodejsuygulamaları için destek sağlanır.FROM mcr.microsoft.com/service-fabric/onebox:u18 RUN apt-get install nodejs -y EXPOSE 19080 19000 80 443 WORKDIR /home/ClusterDeployer CMD ["./ClusterDeployer.sh"]İpucu
Varsayılan olarak bu, görüntüyü Service Fabric’in en son sürümüyle çeker. Belirli düzeltmeler için lütfen Docker Hub ziyaret edin.
'den yeniden kullanılabilir görüntülerinizi oluşturmak için, bir terminal açın ve doğrudan
Dockerfilecdve ardından çalıştırmanızıDockerfiletutana kadar:docker build -t mysfcluster .Not
Bu işlem biraz zaman alır, ancak yalnızca bir kez gereklidir.
Artık her ihtiyacınız olduğunda aşağıdakini çalıştırarak Service Fabric bir yerel kopyasını başlatabilirsiniz:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfclusterİpucu
Kapsayıcı örneğiniz için bir ad belirterek, örneğinizin daha okunaklı bir biçimde işlenebilmesini sağlayın.
Uygulamanız belirli bağlantı noktalarını dinliyorsa, bağlantı noktaları ek
-petiketleri kullanılarak belirtilmelidir. Örneğin, uygulamanız 8080 bağlantı noktasını dinliyorsa, şuradaki-petiketini ekleyin:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18Kümenin başlaması biraz zaman alır. Çalıştırılı olduğunda, aşağıdaki komutu kullanarak günlükleri görüntüleyebilirsiniz veya küme durumunu görüntülemek için panoya atlayın:
http://localhost:19080docker logs sftestclusterKapsayıcıyı durdurup temizlemek için aşağıdaki komutu kullanın. Ancak, bu kapsayıcıyı bir sonraki adımda kullanacağız.
docker rm -f sftestcluster
Bilinen Sınırlamalar
Mac’e yönelik kapsayıcıdaki yerel küme çalıştırmaya ilişkin bilinen sınırlandırmalar aşağıda verilmiştir:
- DNS hizmeti çalışmıyor ve şu anda kapsayıcı içinde desteklenmiyor. Sorun #132
- Kapsayıcı tabanlı uygulamaların çalıştırılması, bir Linux ana bilgisayarında SF çalıştırmayı gerektirir. İç içe kapsayıcı uygulamalar şu anda desteklenmiyor.
Mac'inizde Service Fabric CLI'sını (sfctl) ayarlama
Service Fabric CLI'sını (sfctl) Mac'inize yüklemek için Service Fabric CLI'sı talimatlarını izleyin.
CLI kümeler, uygulamalar ve hizmetler de dahil olmak üzere Service Fabric varlıklarıyla etkileşimi destekleyen komutlar içerir.
- Uygulamaları dağıtmadan önce kümeye bağlanmak için aşağıdaki komutu çalıştırın.
sfctl cluster select --endpoint http://localhost:19080
Yeoman kullanarak Mac'inizde uygulama oluşturma
Service Fabric, Yeoman şablon oluşturucu kullanarak terminalden Service Fabric uygulaması oluşturmanıza yardımcı olacak yapı iskelesi araçları sağlar. Service Fabric Yeoman şablon oluşturucunun makinenizde çalıştığından emin olmak için şu adımları izleyin:
Node.js ve Düğüm Paketi Yöneticisi (NPM) Mac’inizde yüklü olmalıdır. Yazılım, HomeBrew kullanılarak şurada anlatıldığı gibi yüklenebilir:
brew install node node -v npm -vNPM’den makinenize Yeoman şablon oluşturucuyu yükleyin:
npm install -g yoBaşlarken belgelerinde bulunan adımları izleyerek kullanmak istediğiniz Yeoman oluşturucuyu yükleyin. Yeoman kullanarak Service Fabric uygulamaları oluşturmak için şu adımları takip edin:
npm install -g generator-azuresfjava # for Service Fabric Java Applications npm install -g generator-azuresfguest # for Service Fabric Guest executables npm install -g generator-azuresfcontainer # for Service Fabric Container ApplicationsOluşturucuları yükledikten sonra, sırasıyla
yo azuresfguestveyo azuresfcontainerkomutlarını çalıştırarak konuk yürütülebilir dosyasını veya kapsayıcı hizmetlerini oluşturun.Mac’inizde bir Service Fabric Java uygulaması derlemek için ana makinede JDK sürüm 1.8 ve Gradle yüklü olmalıdır. Yazılım, HomeBrew kullanılarak şurada anlatıldığı gibi yüklenebilir:
brew update brew cask install java brew install gradleÖnemli
Geçerli sürümleri
brew cask install java, JDK 'nin daha yeni bir sürümünü kurabilir. JDK 8 ' i yüklediğinizden emin olun.
Uygulamanızı terminalden Mac’inize dağıtma
Service Fabric uygulamanızı oluşturup derledikten sonra Service Fabric CLI’yi kullanarak uygulamanızı dağıtabilirsiniz:
Mac’inizdeki kapsayıcı örneğinin içinde çalışan Service Fabric kümesine bağlanın:
sfctl cluster select --endpoint http://localhost:19080Proje dizininize gidip yükleme betiğini çalıştırın:
cd MyProject bash install.sh
.NET Core 3,1 geliştirmeyi ayarlama
C# Service Fabric uygulamaları oluşturmayabaşlamak için Mac için .NET Core 3,1 SDK 'sını yükler. .NET Core Service Fabric uygulamaları için paketler NuGet.org üzerinde barındırılır.
Mac’inizde Eclipse için Service Fabric eklentisini yükleme
Azure Service Fabric, Java IDE için Eclipse Neon’a (veya sonrası) yönelik bir eklenti sağlar. Eklenti, Java hizmetleri oluşturma, derleme ve dağıtma işlemlerini basitleştirir. Eclipse içi Service Fabric eklentisinin son sürümünü yüklemek veya son sürümüne güncelleştirmek için şu adımları izleyin. Eclipse için Service Fabric belgelerindeki adımlar da geçerlidir: bir uygulama derleme, uygulamaya bir hizmet ekleme, bir uygulamayı kaldırma ve benzeri.
Son adım ise, ana bilgisayarınızla paylaşılan bir yolu olan kapsayıcı örneği oluşturmak olacaktır. Eklentinin Mac’inizdeki Docker kapsayıcısı ile çalışması için bu tür örnek oluşturma gerekir. Örnek:
docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest
Öznitelikleri şunlardır:
/Users/sayantan/work/workspaces/mySFWorkspace, Mac’inizdeki çalışma alanının tam yolu./tmp/mySFWorkspace, çalışma alanının eşlenmesi gereken kapsayıcının içindeki yol.
Not
Çalışma alanınız için farklı bir adınız/yolunuz varsa, bu değerleri docker run komutunda güncelleştirin.
Kapsayıcıyı sfonebox dışında bir adla başlatırsanız, Service Fabric aktör Java uygulamanızdaki testclient.sh dosyasında ad değerini güncelleştirin.
Sonraki adımlar
- Linux üzerinde Yeoman kullanarak ilk Service Fabric Java uygulamanızı oluşturma ve dağıtma
- Service Fabric tutulma için Service Fabric eklentisini kullanarak Linux 'ta ilk Java uygulamanızı oluşturma ve dağıtma
- Azure portalında bir Service Fabric kümesi oluşturma
- Azure Resource Manager’ı kullanarak bir Service Fabric kümesi oluşturma
- Service Fabric uygulama modelini anlama
- Uygulamalarınızı yönetmek için Service Fabric CLI'yı kullanma
- Windows üzerinde Linux geliştirme ortamı hazırlama