Service Fabric ve kapsayıcılarService Fabric and containers

GirişIntroduction

Azure Service Fabric; ölçeklenebilir ve güvenilir mikro hizmetleri ve kapsayıcıları paketlemeyi, dağıtmayı ve yönetmeyi kolaylaştırmayı sağlayan bir dağıtılmış sistemler platformudur.Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices and containers.

Service Fabric, mikro hizmetleri bir makine kümesi genelinde dağıtmaya yönelik Microsoft 'un kapsayıcı Orchestrator ' dir.Service Fabric is Microsoft's container orchestrator for deploying microservices across a cluster of machines. , Microsoft 'ta hizmetler çalıştıran ve büyük ölçekli bir ölçekte öğrendiğimiz dersler avantajlarından Service Fabric.Service Fabric benefits from the lessons learned during its years running services at Microsoft at massive scale.

Mikro hizmetler, Service Fabric programlama modelleri, ASP.NET Core kullanmaktan tercih ettiğiniz herhangi bir kodun dağıtılmasına kadar birçok yolla geliştirilebilir.Microservices can be developed in many ways from using the Service Fabric programming models, ASP.NET Core, to deploying any code of your choice. Ya da yalnızca kapsayıcıları dağıtmak ve yönetmekistiyorsanız, Service Fabric de harika bir seçenektir.Or, if you just want to deploy and manage containers, Service Fabric is also a great choice.

Varsayılan olarak, Service Fabric bu Hizmetleri işlem olarak dağıtır ve etkinleştirir.By default, Service Fabric deploys and activates these services as processes. Süreçler, bir kümedeki kaynakların en hızlı etkinleştirilmesini ve en yüksek yoğunluklu kullanımını sağlar.Processes provide the fastest activation and highest density usage of the resources in a cluster. Service Fabric Ayrıca, kapsayıcı görüntülerinde Hizmetleri dağıtabilir.Service Fabric can also deploy services in container images. Aynı uygulamadaki Hizmetleri süreçler ve kapsayıcılardaki hizmetler de karıştırabilirsiniz.You can also mix services in processes, and services in containers, in the same application.

Sağ tarafta geçiş yapmak ve Service Fabric kapsayıcıları denemek için hızlı başlangıç, öğretici veya örnek kullanmayı deneyin:To jump right in and try out containers on Service Fabric, try a quickstart, tutorial, or sample:

Hızlı Başlangıç: Service Fabric için bir Linux kapsayıcı uygulaması dağıtmaQuickstart: Deploy a Linux container application to Service Fabric
Hızlı Başlangıç: Service Fabric için bir Windows kapsayıcı uygulaması dağıtmaQuickstart: Deploy a Windows container application to Service Fabric
Mevcut bir .NET uygulamasını Kapsayıcılı hale getirmeContainerize an existing .NET app
Service Fabric Kapsayıcı ÖrnekleriService Fabric Container Samples

Kapsayıcılar nelerdirWhat are containers

Kapsayıcılar, uygulamanın içinde çalışması için sabit bir ortam sağlayarak, uygulamaları farklı bilgi işlem ortamlarında güvenilir bir şekilde çalıştırma sorununu çözüyor.Containers solve the problem of running applications reliably in different computing environments by providing an immutable environment for the application to run in. Kapsayıcılar, bir uygulamayı ve kitaplık ve yapılandırma dosyaları gibi tüm bağımlılıklarını, bir uygulamayı kapsayıcı içinde çalıştırmak için gereken her şeyi içeren kendi yalıtılmış ' Box ' olarak kaydırır.Containers wrap an application and all of its dependencies, such as libraries and configuration files, into its own isolated 'box' that contains everything needed to run the software inside the container. Kapsayıcının çalıştığı her yerde, her zaman içindeki uygulamanın, bağımlı kitaplıklarının doğru sürümleri, tüm yapılandırma dosyaları ve çalışması gereken diğer her şey gibi çalışması gereken her şey vardır.Wherever the container runs, the application inside it always has everything it needs to run such as the right versions of its dependent libraries, any configuration files, and anything else it needs to run.

Kapsayıcılar doğrudan çekirdeğin üzerine çalışır ve dosya sisteminin ve diğer kaynakların yalıtılmış bir görünümüne sahiptir.Containers run directly on top of the kernel and have an isolated view of the file system and other resources. Bir kapsayıcıdaki uygulamanın, kapsayıcısı dışındaki diğer uygulamalar veya işlemlerle ilgili hiçbir bilgisi yoktur.An application in a container has no knowledge of any other applications or processes outside of its container. Her uygulama ve çalışma zamanı, bağımlılıkları ve sistem kitaplıkları, kapsayıcının işletim sisteminin yalıtılmış görünümüne tam ve özel erişimi olan bir kapsayıcı içinde çalışır.Each application and its runtime, dependencies, and system libraries run inside a container with full, private access to the container's own isolated view of the operating system. Farklı bilgi işlem ortamlarında çalışması gereken tüm uygulamanızın bağımlılıklarını sağlamayı kolaylaştıran güvenlik ve kaynak yalıtımının yanı sıra, Service Fabric ile kapsayıcıları kullanmanın önemli avantajları vardır. Bu, aksi halde Hizmetleri bir işle.In addition to making it easy to provide all of your application's dependencies it needs to run in different computing environments, security and resource isolation are important benefits of using containers with Service Fabric--which otherwise runs services in a process.

Sanal makinelerle karşılaştırıldığında kapsayıcılar aşağıdaki avantajları sağlar:Compared to virtual machines, containers have the following advantages:

  • Küçük: Kapsayıcılar, verimliliği artırmak için tek bir depolama alanı ve katman sürümü ve güncelleştirme kullanır.Small: Containers use a single storage space and layer versions and updates to increase efficiency.
  • Hızlı: Kapsayıcılar, genellikle Saniyeler içinde daha hızlı başlayabilmeleri için bir işletim sisteminin tamamını önyüklemek zorunda kalmaz.Fast: Containers don’t have to boot an entire operating system, so they can start much faster--typically in seconds.
  • Taşınabilirlik: Kapsayıcılı bir uygulama görüntüsü bulutta, şirket içinde, sanal makinelerde veya doğrudan fiziksel makinelerde çalışmak üzere olabilir.Portability: A containerized application image can be ported to run in the cloud, on premises, inside virtual machines, or directly on physical machines.
  • Kaynakİdaresi: Bir kapsayıcı, ana bilgisayarında tüketebileceği fiziksel kaynakları sınırlayabilir.Resource governance: A container can limit the physical resources that it can consume on its host.

Kapsayıcı türleri ve desteklenen ortamlarContainer types and supported environments

Service Fabric hem Linux hem de Windows üzerinde kapsayıcıları destekler ve Windows üzerinde Hyper-V yalıtım modunu destekler.Service Fabric supports containers on both Linux and Windows, and supports Hyper-V isolation mode on Windows.

Linux üzerinde Docker KapsayıcılarıDocker containers on Linux

Docker, Linux çekirdek kapsayıcıları üzerinde kapsayıcılar oluşturmak ve yönetmek için API 'Ler sağlar.Docker provides APIs to create and manage containers on top of Linux kernel containers. Docker Hub, kapsayıcı görüntülerini depolamak ve almak için merkezi bir depo sağlar.Docker Hub provides a central repository to store and retrieve container images. Linux tabanlı bir öğretici için bkz. Linux üzerinde ilk Service Fabric kapsayıcı uygulamanızı oluşturma.For a Linux-based tutorial, see Create your first Service Fabric container application on Linux.

Windows Server kapsayıcılarıWindows Server containers

Windows Server 2016, yalıtım düzeyine göre farklılık gösteren iki farklı kapsayıcı türü sağlar.Windows Server 2016 provides two different types of containers that differ by level of isolation. Windows Server kapsayıcıları ve Docker kapsayıcıları, hem ad alanı hem de dosya sistemi yalıtımı içerdiğinden benzerdir çünkü çekirdek, üzerinde çalıştıkları konakla birlikte paylaşımda bulunur.Windows Server containers and Docker containers are similar because both have namespace and file system isolation, while sharing the kernel with the host they are running on. Linux 'ta, bu yalıtım geleneksel olarak cgroups ve ad alanları tarafından sağlanmış ve Windows Server kapsayıcıları benzer şekilde davranır.On Linux, this isolation has traditionally been provided by cgroups and namespaces, and Windows Server containers behave similarly.

Hyper-V desteğiyle Windows kapsayıcıları, hiçbir kapsayıcı işletim sistemi çekirdeğini başka bir kapsayıcı veya konakla paylaştığı için daha fazla yalıtım ve güvenlik sağlar.Windows containers with Hyper-V support provide more isolation and security because no container shares the operating system kernel with any other container, or with the host. Bu daha yüksek güvenlik yalıtımıyla, Hyper-V etkin kapsayıcılar, büyük olasılıkla çok kiracılı senaryolara yöneliktir.With this higher level of security isolation, Hyper-V enabled containers are targeted at potentially hostile, multi-tenant scenarios. Windows tabanlı bir öğretici için bkz. Windows 'da ilk Service Fabric kapsayıcı uygulamanızı oluşturma.For a Windows-based tutorial, see Create your first Service Fabric container application on Windows.

Aşağıdaki şekilde, kullanılabilecek farklı sanallaştırma ve yalıtım düzeyi türleri gösterilmektedir.The following figure shows the different types of virtualization and isolation levels available. Service Fabric platformService Fabric platform

Kapsayıcıları kullanmaya yönelik senaryolarScenarios for using containers

Bir kapsayıcının iyi bir seçenek olduğu tipik örnekler aşağıda verilmiştir:Here are typical examples where a container is a good choice:

  • IIS kaldırma ve kaydırma: Mevcut bir ASP.NET MVC uygulamasını ASP.NET Core geçirmek yerine bir kapsayıcıya yerleştirebilirsiniz.IIS lift and shift: You can put an existing ASP.NET MVC app in a container instead of migrating it to ASP.NET Core. Bu ASP.NET MVC uygulamaları Internet Information Services (IIS) bağımlıdır.These ASP.NET MVC apps depend on Internet Information Services (IIS). Bu uygulamaları, önceden düzenlenen IIS görüntüsünden kapsayıcı görüntülerine paketleyebilir ve Service Fabric ile dağıtabilirsiniz.You can package these applications into container images from the precreated IIS image and deploy them with Service Fabric. Windows kapsayıcıları hakkında bilgi için bkz. Windows Server 'Da kapsayıcı görüntüleri .See Container Images on Windows Server for information about Windows containers.

  • Kapsayıcıları ve Service Fabric mikro hizmetleri karıştırma: Uygulamanızın bir parçası için mevcut bir kapsayıcı görüntüsünü kullanın.Mix containers and Service Fabric microservices: Use an existing container image for part of your application. Örneğin, uygulamanızın Web ön ucu için NGINX kapsayıcısını ve daha yoğun arka uç hesaplaması için durum bilgisi olan hizmetleri kullanabilirsiniz.For example, you might use the NGINX container for the web front end of your application and stateful services for the more intensive back-end computation.

  • "Gürültülü komşular" hizmetlerinin etkisini azaltın: Bir hizmetin bir konakta kullandığı kaynakları kısıtlamak için kapsayıcıların kaynak idare yeteneğini kullanabilirsiniz.Reduce impact of "noisy neighbors" services: You can use the resource governance ability of containers to restrict the resources that a service uses on a host. Hizmetler çok sayıda kaynak tüketebilir ve diğerlerinin performansını etkileiyorsa (uzun süreli, sorgu benzeri bir işlem), bu Hizmetleri kaynak İdaresi olan kapsayıcılara yerleştirmeyi göz önünde bulundurun.If services might consume many resources and affect the performance of others (such as a long-running, query-like operation), consider putting these services into containers that have resource governance.

Kapsayıcılar için Service Fabric desteğiService Fabric support for containers

Service Fabric, Linux üzerinde Docker kapsayıcıları ve Windows Server 2016 ' de Windows Server kapsayıcıları ile birlikte Hyper-V yalıtım modu desteğini destekler.Service Fabric supports the deployment of Docker containers on Linux, and Windows Server containers on Windows Server 2016, along with support for Hyper-V isolation mode.

Service Fabric, kapsayıcının birden çok hizmet çoğaltmalarının yerleştirildiği bir uygulama konağını temsil ettiği bir uygulama modeli sağlar.Service Fabric provides an application model in which a container represents an application host in which multiple service replicas are placed. Service Fabric Ayrıca, yerleşik Service Fabric programlama modellerini kullanmadığınız Konuk yürütülebilir bir senaryoyu destekler, bunun yerine bir kapsayıcı içinde herhangi bir dil veya çerçeve kullanılarak yazılmış mevcut bir uygulamayı paketleyin.Service Fabric also supports a guest executable scenario in which you don't use the built-in Service Fabric programming models but instead package an existing application, written using any language or framework, inside a container. Bu senaryo, kapsayıcılar için ortak kullanım durumdur.This scenario is the common use-case for containers.

Ayrıca, bir kapsayıcı içinde Service Fabric Hizmetleride çalıştırabilirsiniz.You can also run Service Fabric services inside a container. Kapsayıcılar içinde Service Fabric Hizmetleri çalıştırmaya yönelik destek şu anda sınırlı.Support for running Service Fabric services inside containers is currently limited.

Service Fabric, Kapsayıcılı mikro hizmetlerden oluşan uygulamalar oluşturmanıza yardımcı olan birkaç kapsayıcı özelliği sağlar; örneğin:Service Fabric provides several container capabilities that help you build applications that are composed of containerized microservices, such as:

  • Kapsayıcı görüntüsü dağıtımı ve etkinleştirmesi.Container image deployment and activation.
  • Azure kümelerinde varsayılan olarak kaynak değerlerini ayarlama dahil kaynak yönetimi.Resource governance including setting resource values by default on Azure clusters.
  • Depo kimlik doğrulaması.Repository authentication.
  • Konak bağlantı noktası eşlemesinde kapsayıcı bağlantı noktası.Container port to host port mapping.
  • Kapsayıcı-kapsayıcı bulma ve iletişim.Container-to-container discovery and communication.
  • Ortam değişkenlerini yapılandırma ve ayarlama yeteneği.Ability to configure and set environment variables.
  • Kapsayıcıda güvenlik kimlik bilgilerini ayarlama yeteneği.Ability to set security credentials on the container.
  • Kapsayıcılar için farklı ağ modları seçimi.A choice of different networking modes for containers.

Azure Kubernetes hizmeti ile bir Kubernetes kümesi oluşturma, Azure Container Registry 'da özel bir Docker kayıt defteri oluşturma ve daha fazlası gibi Azure 'da kapsayıcı desteğine yönelik kapsamlı bir genel bakış için bkz. kapsayıcılar Için Azure.For a comprehensive overview of container support on Azure, such as how to create a Kubernetes cluster with Azure Kubernetes Service, how to create a private Docker registry in Azure Container Registry, and more, see Azure for Containers.

Sonraki adımlarNext steps

Bu makalede, çalışan kapsayıcılar için Service Fabric destek hakkında bilgi edindiniz.In this article, you learned about the support Service Fabric provides for running containers. Daha sonra, bunları nasıl kullanacağınızı göstermek için özelliklerin her birine örnek olarak gideceğiz.Next, we will go over examples of each of the features to show you how to use them.

Linux üzerinde ilk Service Fabric kapsayıcı uygulamanızı oluşturmaCreate your first Service Fabric container application on Linux
Windows 'da ilk Service Fabric kapsayıcı uygulamanızı oluşturmaCreate your first Service Fabric container application on Windows
Windows kapsayıcıları hakkında daha fazla bilgi edininLearn more about Windows Containers