Azure Arc özellikli Kubernetes kümesine Event Grid uzantısını yükleme
Bu makale, Event Grid'i Azure Arc özellikli kubernetes kümesine yükleme adımlarında size yol gösterir.
Kısa bir ifadeyle, bu makalede "Kubernetes'te Event Grid uzantısı" "Kubernetes'te Event Grid" veya yalnızca "Event Grid" ifadeleri yer alır.
Önemli
Azure Arc ile Kubernetes üzerinde Event Grid şu anda genel önizleme aşamasındadır. Önizleme sürümü bir hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yüklerinde kullanılması önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Desteklenen Kubernetes dağıtımları
Event Grid'in dağıtılıp çalıştırılabildiği desteklenen Kubernetes dağıtımları aşağıdadır.
- Azure AKS tarafından desteklenen Kubernetes dağıtımları.
- RedHat OpenShift Kapsayıcı Platformu.
Event Grid Uzantısı
Bir Event Grid hizmet örneğini Kubernetes kümesine yükleyen işlem, hem Event Grid aracısı hem de Event Grid işleci dağıtan bir Azure Arc kümesi uzantısının oluşturulmasıdır. Aracı ve işlecin işlevi hakkında daha fazla bilgi için bkz. Kubernetes bileşenlerinde Event Grid. Azure Arc kümesi uzantısı özelliği, Azure Arc özellikli Kubernetes kümelerine dağıtılan Event Grid'e Azure Resource Manager (ARM) denetim düzlemi işlemlerini kullanarak yaşam döngüsü yönetimi sağlar.
Not
Event Grid uzantısı şu anda küme kapsamlı bir uzantı olarak tanımlandığından, hizmetin önizleme sürümü Kubernetes kümesindeki Event Grid uzantısının yalnızca tek bir örneğini destekler. Event Grid için bir kümeye birden çok örneğin dağıtılması için henüz ad alanı kapsamlı dağıtım desteği yoktur. Daha fazla bilgi için bkz . Uzantı kapsamı.
Önkoşullar
Event Grid yüklemesine devam etmeden önce aşağıdaki önkoşulların karşılandığından emin olun.
- Desteklenen Kubernetes dağıtımlarından birinde çalışan bir küme.
- Bir Azure aboneliği.
- Event Grid aracısı ile HTTPS bağlantısı kurmak için kullanılacak PKI Sertifikaları.
- Kümenizi Azure Arc'a bağlayın.
Destek alma
Bir sorunla karşılaşırsanız yaygın koşullarla ilgili yardım için Sorun Giderme bölümüne bakın. Sorun yaşamaya devam ediyorsanız bir Azure desteği isteği oluşturun.
PKI Sertifika gereksinimleri
Event Grid aracısı (sunucu) iki tür istemciye hizmet eder. Sunucu kimlik doğrulaması Sertifikalar kullanılarak yapılır. İstemci kimlik doğrulaması, istemci türüne göre sertifikalar veya SAS anahtarları kullanılarak gerçekleştirilir.
- Event Grid aracısına denetim düzlemi isteklerinde bulunan Event Grid işleçlerinin kimliği sertifikalar kullanılarak doğrulanır.
- Event Grid konu başlığındaki olayları yayımlayan Event Grid yayımcılarının kimliği, konunun SAS anahtarlarıyla doğrulanır.
Event Grid aracısı ve Event Grid işleciyle güvenli bir HTTPS iletişimi kurmak için, Event Grid uzantısının yüklenmesi sırasında PKI Sertifikalarını kullanırız. Bu PKI sertifikaları için genel gereksinimler şunlardır:
Sertifikalar ve anahtarlar X.509 sertifikaları ve Gizlilikle Geliştirilmiş Posta PEM kodlanmış olmalıdır.
Yükleme sırasında Event Grid aracısı (sunucu) sertifikasını yapılandırmak için şunları sağlamanız gerekir:
- CA sertifikası
- Ortak sertifika
- Özel anahtar
Event Grid işleci (istemci) sertifikasını yapılandırmak için şunları sağlamanız gerekir:
- CA sertifikası
- Ortak sertifika
- Özel anahtar
Yayımlama istemcileri, olayları bir konuya yayımlarken sunucuyu doğrulamak için Event Grid aracısı CA sertifikasını kullanabilir.
Önemli
İstemciyle ilişkilendirilmiş bir etki alanının farklı sertifika yetkilileri tarafından verilen birden fazla ortak sertifikası olabilir ancak Kubernetes'te Event Grid, Event Grid'i yüklerken istemciler için yalnızca tek bir CA sertifikasının karşıya yüklenmesine izin verir. Sonuç olarak, sertifika zinciri doğrulamasının başarılı olması ve bir TLS oturumunun başarıyla kurulması için Event Grid işlecine yönelik sertifikaların aynı CA tarafından verilmesi (imzalanması) gerekir.
Sunucu ve istemci sertifikaları için Ortak Ad'ı (CN) yapılandırırken, sertifika yetkilisi sertifikası için sağlanan CN'lerden farklı olduklarından emin olun.
Önemli
Kavram kanıtının erken aşamalarında, otomatik olarak imzalanan sertifikalar bir seçenek olabilir, ancak genel olarak, Sertifika Yetkilisi (CA) tarafından imzalanan uygun PKI sertifikaları temin edilmeli ve kullanılmalıdır.
Azure portal kullanarak yükleme
Azure portal Azure Arc için arama (üstteki alan)
Altyapı bölümündeki sol taraftaki menüden Kubernetes kümesi'ni seçin
Küme listesinin altında Event Grid'i yüklemek istediğiniz kümeyi bulun ve seçin. Kümenin Genel Bakış sayfası görüntülenir.
Soldaki menüden Ayarlar grubunda Uzantılar'ı seçin.
+ Ekle'yi seçin. Kullanılabilir Azure Arc Kubernetes uzantılarını gösteren bir sayfa görüntülenir.
Yeni kaynak sayfasında Kubernetes Uzantısı'nda Event Grid'i seçin.
Kubernetes Uzantısı'nda Event Grid sayfasında Oluştur'u seçin.
Event Grid'i Yükleme sayfasının Temel Bilgiler sekmesinde aşağıdaki adımları izleyin.
Azure Arc uzantıları, yüklendikleri bağlı kümenin aynı Azure aboneliği ve kaynak grubu altında dağıtıldığından , Proje Ayrıntıları bölümünde salt okunur abonelik ve kaynak grubu değerleri gösterilir.
Event Grid uzantısı adı alanına bir ad girin. Bu ad, aynı Azure Arc bağlı kümesine dağıtılan diğer Azure Arc uzantıları arasında benzersiz olmalıdır.
Yayın ad alanı için Event Grid bileşenlerinin dağıtılacağı Kubernetes ad alanının adını sağlamak isteyebilirsiniz. Örneğin, kümenize dağıtılan tüm Azure Arc özellikli hizmetler için tek bir ad alanına sahip olmak isteyebilirsiniz. Varsayılan değer eventgrid-system'dir. Sağlanan ad alanı yoksa sizin için oluşturulur.
Event Grid aracısı ayrıntıları bölümünde hizmet türü gösterilir. Olayların gönderildiği konu uç noktalarını kullanıma sunan bileşen olan Event Grid aracısı, ClusterIP kubernetes hizmet türü olarak kullanıma sunulur. Bu nedenle, tüm konulara atanan IP'ler küme için yapılandırılmış özel IP alanını kullanır.
Aracı için kullanmak istediğiniz ve Kubernetes dağıtımınız tarafından desteklenen depolama sınıfı adını belirtin. Örneğin AKS kullanıyorsanız Azure Standart depolamayı kullanan kullanabilirsiniz
azurefile
. AKS tarafından desteklenen önceden tanımlanmış depolama sınıfları hakkında daha fazla bilgi için bkz. AKS'de Depolama Sınıfları. Diğer Kubernetes dağıtımlarını kullanıyorsanız desteklenen önceden tanımlanmış depolama sınıfları için Kubernetes dağıtım belgelerinize veya kendi depolama sınıflarınızı sağlama yönteminize bakın.Depolama boyutu. Varsayılan değer 1 GiB'dir. Depolama alanınızın boyutunu belirlerken alım hızını göz önünde bulundurun. Olaylarınızın boyutu, Event Grid aracısında yer alan tüm konularda yayımlama hızının (saniyedeki olaylar) çarpımı olarak ölçülen MiB/saniye cinsinden alım oranı, depolama alanı ayrılırken önemli bir faktördür. Olaylar doğası gereği geçicidir ve teslim edildikten sonra bu olaylar için depolama tüketimi olmaz. Alım hızı depolama kullanımı için ana etmen olsa da, tek sürücü bu değildir. Konu başlığını ve olay aboneliği yapılandırmasını tutan meta veriler de depolama alanı kullanır, ancak bu normalde Event Grid tarafından alınan ve teslim edilen olaylardan daha düşük bir depolama alanı gerektirir.
Bellek sınırı. Varsayılan değer 1 GiB'dir.
Bellek isteği. Varsayılan değer 200 MiB'dir. Bu alan düzenlenemez.
Sayfanın alt kısmındaki İleri: Yapılandırma'ya tıklayın.
Event Grid'i Yükle sayfasının Yapılandırma sekmesinde aşağıdaki adımları uygulayın:
HTTP (güvenli değil) iletişimi etkinleştirin. İstemciler Event Grid aracısı ile iletişim kurarken güvenli olmayan bir kanal kullanmak istiyorsanız bu kutuyu işaretleyin.
Önemli
Bu seçeneğin etkinleştirilmesi Event Grid aracısıyla iletişimin aktarım olarak HTTP kullanmasını sağlar. Bu nedenle, herhangi bir yayımlama istemcisi ve Event Grid işleci Event Grid aracısı ile güvenli bir şekilde iletişim kurmaz. Bu seçeneği yalnızca geliştirmenin ilk aşamalarında kullanmanız gerekir.
HTTP iletişimini etkinleştirmediyseniz, temin ettiğiniz PKI sertifika dosyalarının her birini seçin ve PKI sertifika gereksinimlerini karşılayın.
Sayfanın alt kısmındaki Sonraki: İzleme'yi seçin.
Event Grid'i Yükle sayfasının İzleme sekmesinde aşağıdaki adımları uygulayın:
Ölçümleri etkinleştir 'i seçin (isteğe bağlı). Bu seçeneği belirtirseniz Kubernetes'te Event Grid, Prometheus edat biçimini kullanarak konu başlıkları ve olay abonelikleri için ölçümleri kullanıma sunar.
Etiketler sayfasına gitmek için İleri: Etiketler'i seçin.
Etiketler sayfasında aşağıdaki adımları uygulayın:
Gerekirse etiketleri tanımlayın.
Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.
Gözden Geçir ve oluştur sekmesinde Oluştur'u seçin.
Önemli
Event Grid yüklemesi, Azure Portal'da dağıtımın tamamlandığını bildiren bir bildirim gördüğünüz zamandan daha uzun süre Kubernetes kümesinde çalışabilen zaman uyumsuz bir işlemdir. Özel bir konum oluşturmaya çalışmadan önce "Dağıtımınız tamamlandı" bildirimini gördükkten sonra en az 5 dakika bekleyin (sonraki adım). Kubernetes kümesine erişiminiz varsa, bir bash oturumunda Event Grid aracısının ve Event Grid işleci podlarının Çalışıyor durumda olup olmadığını doğrulamak için aşağıdaki komutu yürütebilirsiniz; bu da yüklemenin tamamlandığını gösterir:
kubectl get pods -n \<release-namespace-name\>
Örnek çıktı şu şekildedir:
NAME READY STATUS RESTARTS AGE eventgrid-broker-568f75976-wxkd2 1/1 Running 0 2m28s eventgrid-operator-6c4c6c675d-ttjv5 1/1 Running 0 2m28s
Önemli
Event Grid konularını dağıtmaya çalışmadan önce Özel Konum oluşturulmalıdır. Özel bir konum oluşturmak için, "Dağıtımınız tamamlandı" bildirimi gösterildikten sonraki en alt 5 dakika içinde Bağlam sayfasını seçebilirsiniz. Alternatif olarak, Azure portal kullanarak özel bir konum oluşturabilirsiniz. Daha fazla bilgi için Özel Konum belgelerine bakın.
Dağıtım başarılı olduktan sonra , Uzantılar sayfasında Event Grid uzantınıza sağladığınız adı içeren bir giriş görebilirsiniz. Yükleme durumu için Beklemede ifadesini görüyorsanız birkaç dakika bekleyin ve araç çubuğunda Yenile'yi seçin.
Azure CLI kullanarak yükleme
Kabuk oturumu başlatın. Bilgisayarınızda oturum başlatabilir veya için bir tarayıcı https://shell.azure.comaçabilirsiniz.
Yapılandırma dosyası
protected-settings-extension.json
oluşturun. Bu dosya Event Grid uzantısı oluşturulurken parametre olarak geçirilir.Aşağıdaki komutta ve yapılandırma satırlarının her birinde, işleç (istemci) veya aracı (sunucu) için genel sertifikayı, CA sertifikasını veya anahtarı içeren adla değiştirin
filename
. Sağlanan tüm sertifikalar, satır sarmalama olmadan base64 kodlanmış olmalıdır. Bu nedenle komutu kullanılırbase64 --wrap=0
.echo "{ \"eventgridoperator.identityCert.base64EncodedIdentityCert\":\"$(base64 <filename> --wrap=0)\", \"eventgridoperator.identityCert.base64EncodedIdentityKey\":\"$(base64 <filename> --wrap=0)\", \"eventgridoperator.identityCert.base64EncodedIdentityCaCert\":\"$(base64 <filename> --wrap=0)\", \"eventgridbroker.service.tls.base64EncodedServerCert\": \"$(base64 <filename> --wrap=0)\" , \"eventgridbroker.service.tls.base64EncodedServerKey\": \"$(base64 <filename> --wrap=0)\" , \"eventgridbroker.service.tls.base64EncodedServerCaCert\": \"$(base64 <filename> --wrap=0)\" }" > protected-settings-extension.json
Örneğin, aracı için genel sertifika (yukarıdaki ilk yapılandırma öğesi) olarak adlandırılırsa
client.cer
, ilk yapılandırma satırı aşağıdaki gibi görünmelidir:\"eventgridoperator.identityCert.base64EncodedIdentityCert\":\"$(base64 client.cer --wrap=0)\",
Yapılandırma dosyası
settings-extension.json
oluşturun. Bu dosya Event Grid uzantısı oluşturulurken parametre olarak geçirilir.Önemli
ve
serviceType
değerleriniServiceAccount
değiştiremezsiniz. Önizleme sürümü sırasında desteklenen tek Kubernetes hizmet türü olurClusterIP
.Aracı
storageClassName
için kullanmak istediğiniz ve Kubernetes dağıtımınız tarafından desteklenen depolama sınıfını sağlamak için. Örneğin AKS kullanıyorsanız Azure Standart depolamayı kullanan kullanabilirsinizazurefile
. AKS tarafından desteklenen önceden tanımlanmış depolama sınıfları hakkında daha fazla bilgi için bkz. AKS'de Depolama Sınıfları. Diğer Kubernetes dağıtımlarını kullanıyorsanız desteklenen önceden tanımlanmış depolama sınıfları için Kubernetes dağıtım belgelerinize veya kendi depolama sınıflarınızı sağlama yönteminize bakın.prometheus
Prometheus exposition biçimini kullanarak konu başlıkları ve olay abonelikleri için ölçümleri etkinleştirmek üzere olarak ayarlayınreporterType
.Önemli
Önizleme sürümü sırasında, ölçümleri almak için desteklenen tek mekanizma Prometheus istemcisi kullanmaktır.
echo "{ \"Microsoft.CustomLocation.ServiceAccount\":\"eventgrid-operator\", \"eventgridbroker.service.serviceType\": \"ClusterIP\", \"eventgridbroker.dataStorage.storageClassName\": \"<storage_class_name>\", \"eventgridbroker.diagnostics.metrics.reporterType\":\"prometheus\" }" > settings-extension.json
Kümenize Event Grid bileşenlerini yükleyen bir Kubernetes uzantısı oluşturun.
ve
resource-group
parametrelericluster-name
için, kümenizi Azure Arc'a bağlarken sağlanan adlarla aynı adları kullanmanız gerekir.release-namespace
Event Grid bileşenlerinin dağıtılacağı ad alanıdır. Varsayılan değer eventgrid-system'dir. Varsayılanı geçersiz kılmak için bir değer sağlamak isteyebilirsiniz. Örneğin, kümenize dağıtılan tüm Azure Arc özellikli hizmetler için tek bir ad alanına sahip olmak isteyebilirsiniz. Sağlanan ad alanı yoksa sizin için oluşturulur.Önemli
Önizleme sürümü sırasında,
cluster
Event Grid uzantısını oluştururken veya güncelleştirirken desteklenen tek kapsamdır. Bu, hizmetin Bir Kubernetes kümesinde Event Grid uzantısının yalnızca tek bir örneğini desteklediği anlamına gelir. Ad alanı kapsamlı dağıtımlar için henüz destek sağlanmamıştır. Daha fazla bilgi için bkz . Uzantı kapsamı.az k8s-extension create \ --cluster-type connectedClusters \ --cluster-name <connected_cluster_name> \ --resource-group <resource_group_of_connected_cluster> \ --name <event_grid_extension_name> \ --extension-type Microsoft.EventGrid \ --scope cluster \ --auto-upgrade-minor-version true \ --release-train Stable \ --release-namespace <namespace_name> \ --configuration-protected-settings-file protected-settings-extension.json \ --configuration-settings-file settings-extension.json
CLI komutu hakkında daha fazla bilgi için bkz. az k8s-extension create. Event Grid ile ilgili yapılandırma bilgilerini içeren bir json dosyasının adını geçirmek için parametresini kullanabileceğinize
--config-file
dikkat edin. HTTP'yi desteklemek için aşağıdaki ayarı ekleyin."eventgridbroker.service.supportedProtocols[0]": "http"
Yukarıdaki ayara sahip bir örnek settings-extension.json aşağıda verilmiştır.
{ "Microsoft.CustomLocation.ServiceAccount": "eventgrid-operator", "eventgridbroker.service.serviceType": "ClusterIP", "eventgridbroker.service.supportedProtocols[0]": "http", "eventgridbroker.dataStorage.storageClassName": "default", "eventgridbroker.diagnostics.metrics.reporterType": "prometheus" }
Event Grid uzantısının başarıyla yüklendiğini doğrulayın.
az k8s-extension show --cluster-type connectedClusters --cluster-name <connected_cluster_name> --resource-group <resource_group_of_connected_cluster> --name <event_grid_extension_name>
Özellik,
installedState
Event Grid uzantısı bileşenlerinin başarıyla dağıtılması durumunda olmalıdırInstalled
.
Özel konum
Önemli
Event Grid konularını dağıtmaya çalışmadan önce Özel Konum oluşturulmalıdır. Azure portal kullanarak özel bir konum oluşturabilirsiniz.
Sorun giderme
Azure Arc connect küme sorunları
Sorun: Azure Arc'a gidip sol taraftaki menüden Kubernetes kümesi'ni seçtiğinizde, görüntülenen sayfada Event Grid'i yükleme amacım olan Kubernetes kümesi gösterilmiyor.
Çözüm: Kubernetes kümeniz Azure'a kayıtlı değil. Mevcut bir Kubernetes kümesini Azure Arc'a bağlama makalesindeki adımları izleyin. Bu adım sırasında bir sorun varsa Azure Arc özellikli Kubernetes ekibine bir destek isteği gönderin.
Event Grid uzantısı sorunları
Sorun: "Event Grid uzantısı" yüklemeye çalışırken şu iletiyi alıyorsunuz: "Geçersiz işlem - Bu bağlı Kubernetes kümesine Event Grid örneği zaten yüklenmiş. Event Grid uzantısının kapsamı küme düzeyindedir, yani bir kümeye yalnızca bir örnek yüklenebilir."
Açıklama: Event Grid zaten yüklü. Event Grid'in önizleme sürümü, kümeye dağıtılan yalnızca bir Event Grid uzantısı örneğini destekler.
Sonraki adımlar
Özel bir konum oluşturun ve kubernetes üzerinde Azure Event Grid ile bulut olaylarını Web kancalarına yönlendirme hızlı başlangıç yönergelerini izleyin.