Aracılığıyla paylaş


Tek başına Windows kümesi için yapılandırma ayarları

Bu makalede, ClusterConfig.json dosyasında ayarlanabilen tek başına bir Azure Service Fabric kümesinin yapılandırma ayarları açıklanmaktadır. Kümenin düğümleri, güvenlik yapılandırmaları ve ağ topolojisi hakkındaki bilgileri hata ve yükseltme etki alanları açısından belirtmek için bu dosyayı kullanacaksınız. Yapılandırma ayarlarını değiştirdikten veya ekledikten sonra tek başına küme oluşturabilir veya tek başına kümenin yapılandırmasını yükseltebilirsiniz.

Tek başına Service Fabric paketini indirdiğinizde ClusterConfig.json örnekleri de eklenir. Adlarında "DevCluster" bulunan örnekler, mantıksal düğümleri kullanarak üç düğümün de aynı makinede olduğu bir küme oluşturur. Bu düğümlerden en az birinin birincil düğüm olarak işaretlenmesi gerekir. Bu küme türü geliştirme veya test ortamları için kullanışlıdır. Üretim kümesi olarak desteklenmez. Adlarında "MultiMachine" bulunan örnekler, her düğüm ayrı bir makinede olacak şekilde üretim sınıfı kümeleri oluşturmaya yardımcı olur. Bu kümeler için birincil düğüm sayısı, kümenin güvenilirlik düzeyine bağlıdır. API Sürüm 05-2017 olan 5.7 sürümünde güvenilirlik düzeyi özelliğini kaldırdık. Bunun yerine, kodumuz kümeniz için en iyi duruma getirilmiş güvenilirlik düzeyini hesaplar. 5.7 ve üzeri sürümlerde bu özellik için bir değer ayarlamaya çalışmayın.

  • ClusterConfig.Unsecure.DevCluster.json ve ClusterConfig.Unsecure.MultiMachine.json sırasıyla güvenli olmayan bir test veya üretim kümesinin nasıl oluşturulacağını gösterir.

  • ClusterConfig.Windows.DevCluster.json ve ClusterConfig.Windows.MultiMachine.json, Windows güvenliği kullanılarak güvenliği sağlanan test veya üretim kümelerinin nasıl oluşturulacağını gösterir.

  • ClusterConfig.X509.DevCluster.json ve ClusterConfig.X509.MultiMachine.json, X509 sertifika tabanlı güvenlik kullanılarak güvenliği sağlanan test veya üretim kümelerinin nasıl oluşturulacağını gösterir.

Şimdi bir ClusterConfig.json dosyasının çeşitli bölümlerini inceleyelim.

Genel küme yapılandırmaları

Genel küme yapılandırmaları, aşağıdaki JSON kod parçacığında gösterildiği gibi kümeye özgü geniş yapılandırmaları kapsar:

    "name": "SampleCluster",
    "clusterConfigurationVersion": "1.0.0",
    "apiVersion": "01-2017",

Service Fabric kümenize ad değişkenine atayarak kolay bir ad verebilirsiniz. clusterConfigurationVersion, kümenizin sürüm numarasıdır. Service Fabric kümenizi her yükseltişinizde artırın. apiVersion'ı varsayılan değere ayarlanmış olarak bırakın.

Kümedeki düğümler

Aşağıdaki kod parçacığında gösterildiği gibi düğümler bölümünü kullanarak Service Fabric kümenizdeki düğümleri yapılandırabilirsiniz:

"nodes": [{
    "nodeName": "vm0",
    "iPAddress": "localhost",
    "nodeTypeRef": "NodeType0",
    "faultDomain": "fd:/dc1/r0",
    "upgradeDomain": "UD0"
}, {
    "nodeName": "vm1",
    "iPAddress": "localhost",
    "nodeTypeRef": "NodeType1",
    "faultDomain": "fd:/dc1/r1",
    "upgradeDomain": "UD1"
}, {
    "nodeName": "vm2",
    "iPAddress": "localhost",
    "nodeTypeRef": "NodeType2",
    "faultDomain": "fd:/dc1/r2",
    "upgradeDomain": "UD2"
}],

Service Fabric kümesi en az üç düğüm içermelidir. Kurulumunuza göre bu bölüme daha fazla düğüm ekleyebilirsiniz. Aşağıdaki tabloda her düğüm için yapılandırma ayarları açıklanmaktadır:

Düğüm yapılandırması Açıklama
nodeName Düğüme kolay bir ad verebilirsiniz.
ıpaddress Bir komut penceresi açıp yazarak ipconfigdüğümünüzün IP adresini öğrenin. IPV4 adresini not alın ve iPAddress değişkenine atayın.
nodeTypeRef Her düğüme farklı bir düğüm türü atanabilir. Düğüm türleri aşağıdaki bölümde tanımlanmıştır.
faultDomain Hata etki alanları, küme yöneticilerinin paylaşılan fiziksel bağımlılıklar nedeniyle aynı anda başarısız olabilecek fiziksel düğümleri tanımlamasına olanak tanır.
upgradeDomain Yükseltme etki alanları, Service Fabric yükseltmeleri için yaklaşık aynı anda kapatılmış düğüm kümelerini açıklar. Herhangi bir fiziksel gereksinimle sınırlı olmadıklarından, hangi düğümlerin hangi yükseltme etki alanlarına atanabileceğini seçebilirsiniz.

Küme özellikleri

ClusterConfig.json dosyasındaki özellikler bölümü, kümeyi gösterildiği gibi yapılandırmak için kullanılır:

Güvenilirlik

reliabilityLevel kavramı, kümenin birincil düğümlerinde çalışabilen Service Fabric sistem hizmetlerinin çoğaltma veya örnek sayısını tanımlar. Bu hizmetlerin güvenilirliğini ve dolayısıyla kümeyi belirler. Değer, küme oluşturma ve yükseltme zamanında sistem tarafından hesaplanır.

Tanılama

diagnosticsStore bölümünde, aşağıdaki kod parçacığında gösterildiği gibi tanılamayı ve sorun giderme düğümünü veya küme hatalarını etkinleştirmek için parametreleri yapılandırabilirsiniz:

"diagnosticsStore": {
    "metadata":  "Please replace the diagnostics store with an actual file share accessible from all cluster machines.",
    "dataDeletionAgeInDays": "7",
    "storeType": "FileShare",
    "IsEncrypted": "false",
    "connectionstring": "c:\\ProgramData\\SF\\DiagnosticsStore"
}

Meta veriler, küme tanılamalarınızın açıklamasıdır ve kurulumunuza göre ayarlanabilir. Bu değişkenler ETW izleme günlüklerinin ve kilitlenme dökümlerinin yanı sıra performans sayaçlarının toplanmasına yardımcı olur. ETW izleme günlükleri hakkında daha fazla bilgi için bkz . Tracelog ve ETW izleme. Kilitlenme dökümleri ve performans sayaçları da dahil olmak üzere tüm günlükler makinenizdeki connectionString klasörüne yönlendirilebilir. Tanılamaları depolamak için AzureStorage'ı da kullanabilirsiniz. Aşağıdaki örnek kod parçacığına bakın:

"diagnosticsStore": {
    "metadata":  "Please replace the diagnostics store with an actual file share accessible from all cluster machines.",
    "dataDeletionAgeInDays": "7",
    "storeType": "AzureStorage",
    "IsEncrypted": "false",
    "connectionstring": "xstore:DefaultEndpointsProtocol=https;AccountName=[AzureAccountName];AccountKey=[AzureAccountKey]"
}

Güvenlik

Güvenli bir tek başına Service Fabric kümesi için güvenlik bölümü gereklidir. Aşağıdaki kod parçacığı bu bölümün bir bölümünü gösterir:

"security": {
    "metadata": "This cluster is secured using X509 certificates.",
    "ClusterCredentialType": "X509",
    "ServerCredentialType": "X509",
    . . .
}

Meta veriler, güvenli kümenizin açıklamasıdır ve kurulumunuza göre ayarlanabilir. ClusterCredentialType ve ServerCredentialType, kümenin ve düğümlerin uyguladığı güvenlik türünü belirler. Sertifika tabanlı güvenlik için X509 veya Active Directory tabanlı güvenlik için Windows olarak ayarlanabilir. Güvenlik bölümünün geri kalanı, güvenlik türüne bağlıdır. Güvenlik bölümünün geri kalanını doldurma hakkında bilgi için bkz. Tek başına kümede sertifika tabanlı güvenlik veya tek başına kümede Windows güvenliği.

Düğüm türleri

nodeTypes bölümü, kümenizin sahip olduğu düğümlerin türünü açıklar. Aşağıdaki kod parçacığında gösterildiği gibi küme için en az bir düğüm türü belirtilmelidir:

"nodeTypes": [{
    "name": "NodeType0",
    "clientConnectionEndpointPort": "19000",
    "clusterConnectionEndpointPort": "19001",
    "leaseDriverEndpointPort": "19002",
    "serviceConnectionEndpointPort": "19003",
    "httpGatewayEndpointPort": "19080",
    "reverseProxyEndpointPort": "19081",
    "applicationPorts": {
        "startPort": "20575",
        "endPort": "20605"
    },
    "ephemeralPorts": {
        "startPort": "20606",
        "endPort": "20861"
    },
    "isPrimary": true
}]

Ad, bu belirli düğüm türünün kolay adıdır. Bu düğüm türünde bir düğüm oluşturmak için, daha önce belirtildiği gibi bu düğümün nodeTypeRef değişkenine kolay adını atayın. Her düğüm türü için kullanılan bağlantı uç noktalarını tanımlayın. Bu kümedeki diğer uç noktalarla çakışmadıkları sürece, bu bağlantı uç noktaları için herhangi bir bağlantı noktası numarası seçebilirsiniz. Çok düğümlü kümede, reliabilityLevel değerine bağlı olarak bir veya daha fazla birincil düğüm (yani isPrimary true olarak ayarlanır) vardır. Birincil ve öncelikli olmayan düğüm türleri hakkında daha fazla bilgi edinmek için nodeTypes ve reliabilityLevel hakkında bilgi için bkz. Service Fabric küme kapasitesi planlama konuları .

Düğüm türlerini yapılandırmak için kullanılan uç noktalar

  • clientConnectionEndpointPort, istemci API'leri kullanıldığında istemci tarafından kümeye bağlanmak için kullanılan bağlantı noktasıdır.
  • clusterConnectionEndpointPort, düğümlerin birbiriyle iletişim kuracağı bağlantı noktasıdır.
  • leaseDriverEndpointPort, düğümlerin hala etkin olup olmadığını öğrenmek için küme kira sürücüsü tarafından kullanılan bağlantı noktasıdır.
  • serviceConnectionEndpointPort, bir düğümde dağıtılan uygulamalar ve hizmetler tarafından söz konusu düğümdeki Service Fabric istemcisiyle iletişim kurmak için kullanılan bağlantı noktasıdır.
  • httpGatewayEndpointPort, Service Fabric Explorer tarafından kümeye bağlanmak için kullanılan bağlantı noktasıdır.
  • ephemeralPorts, işletim sistemi tarafından kullanılan dinamik bağlantı noktalarını geçersiz kılar. Service Fabric, bu bağlantı noktalarının bir bölümünü uygulama bağlantı noktaları olarak kullanır ve kalanlar işletim sistemi için kullanılabilir. Ayrıca bu aralığı işletim sisteminde mevcut olan aralıkla eşler, bu nedenle tüm amaçlar için örnek JSON dosyalarında verilen aralıkları kullanabilirsiniz. Başlangıç ve bitiş bağlantı noktaları arasındaki farkın en az 255 olduğundan emin olun. Bu aralık işletim sistemiyle paylaşıldığından, bu fark çok düşükse çakışmalarla karşılaşabilirsiniz. Yapılandırılan dinamik bağlantı noktası aralığını görmek için komutunu çalıştırın netsh int ipv4 show dynamicport tcp.
  • applicationPorts, Service Fabric uygulamaları tarafından kullanılan bağlantı noktalarıdır. Uygulama bağlantı noktası aralığı, uygulamalarınızın uç nokta gereksinimini karşılayacak kadar büyük olmalıdır. Bu aralık makinedeki dinamik bağlantı noktası aralığından, yani yapılandırmada ayarlandığı gibi ephemeralPorts aralığına özel olmalıdır. Service Fabric, yeni bağlantı noktaları gerektiğinde bu bağlantı noktalarını kullanır ve bu bağlantı noktaları için güvenlik duvarını açar.
  • reverseProxyEndpointPort isteğe bağlı bir ters proxy uç noktasıdır. Daha fazla bilgi için bkz. Service Fabric ters ara sunucusu.

Günlük ayarları

fabricSettings bölümünde, Service Fabric verileri ve günlükleri için kök dizinleri ayarlayabilirsiniz. Bu dizinleri yalnızca ilk küme oluşturma sırasında özelleştirebilirsiniz. Bu bölümün aşağıdaki örnek kod parçacığına bakın:

"fabricSettings": [{
    "name": "Setup",
    "parameters": [{
        "name": "FabricDataRoot",
        "value": "C:\\ProgramData\\SF"
    }, {
        "name": "FabricLogRoot",
        "value": "C:\\ProgramData\\SF\\Log"
}]

FabricDataRoot ve FabricLogRoot olarak işletim sistemi olmayan bir sürücü kullanmanızı öneririz. İşletim sisteminin yanıt vermeyi durdurduğunda oluşan durumlardan kaçınma konusunda daha fazla güvenilirlik sağlar. Yalnızca veri kökünü özelleştirirseniz, günlük kökü veri kökünü bir düzey altına yerleştirilir.

Durum Bilgisi Olan Reliable Services ayarları

KtlLogger bölümünde Reliable Services için genel yapılandırma ayarlarını yapabilirsiniz. Bu ayarlar hakkında daha fazla bilgi için bkz. Durum Bilgisi Olan Güvenilir Hizmetleri Yapılandırma. Aşağıdaki örnek, durum bilgisi olan hizmetler için güvenilir koleksiyonları yedeklemek üzere oluşturulan paylaşılan işlem günlüğünün nasıl değiştirildiğini gösterir:

"fabricSettings": [{
    "name": "KtlLogger",
    "parameters": [{
        "name": "SharedLogSizeInMB",
        "value": "4096"
    }]
}]

Eklenti özellikleri

Eklenti özelliklerini yapılandırmak için apiVersion'ı 04-2017 veya üzeri olarak yapılandırın ve addonFeatures'i burada gösterildiği gibi yapılandırın:

"apiVersion": "04-2017",
"properties": {
    "addOnFeatures": [
        "DnsService",
        "RepairManager"
    ]
}

Kullanılabilir tüm eklenti özellikleri Service Fabric REST API Başvurusu'nda görülebilir.

Kapsayıcı desteği

Tek başına kümeler için hem Windows Server kapsayıcıları hem de Hyper-V kapsayıcıları için kapsayıcı desteğini etkinleştirmek için DnsService eklenti özelliğinin etkinleştirilmesi gerekir.

Sonraki adımlar

Tek başına küme kurulumunuza göre yapılandırılmış tam bir ClusterConfig.json dosyasına sahip olduktan sonra kümenizi dağıtabilirsiniz. Tek başına Service Fabric kümesi oluşturma başlığındaki adımları izleyin.

Dağıtılan tek başına bir kümeniz varsa, tek başına bir kümenin yapılandırmasını da yükseltebilirsiniz.

Service Fabric Explorer ile kümenizi görselleştirmeyi öğrenin.