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 olması için, bu makale "Kubernetes'te Event Grid uzantısı"nı "Kubernetes'te Event Grid" veya yalnızca "Event Grid" olarak ifade eder.
Ö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 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 Kubernetes kümesine Event Grid hizmet örneği 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 operatörün 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
Hizmetin önizleme sürümü, Event Grid uzantısı şu anda küme kapsamlı bir uzantı olarak tanımlandığından, Kubernetes kümesinde 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.
- 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 Sertifikası 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 konusuna olayları yayımlayan Event Grid yayımcılarının kimlikleri konunun SAS anahtarlarıyla doğrulanır.
Event Grid aracısı ve Event Grid işleci ile 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ı CA sertifikasını kullanabilir.
Önemli
İstemciyle ilişkilendirilmiş bir etki alanında farklı sertifika yetkilileri tarafından verilen birden fazla ortak sertifika 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'ye göre 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ını kullanarak yükleme
Azure portalında Azure Arc araması yapın (ü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 sekmesi 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 adlı bir 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 oranını göz önünde bulundurun. MiB/saniye cinsinden alım oranı, olaylarınızın boyutu Event Grid aracısında tüm konularda yayımlama hızının (saniyedeki olaylar) çarpımı olarak ölçülür, 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. Meta veri tutma konusu ve olay aboneliği yapılandırması da depolama alanı kullanır, ancak bu normalde Event Grid tarafından alınan ve teslim edilen olaylardan daha düşük miktarda 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ı ile 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 en altındaki İleri: İzleme'yi seçin.
Event Grid Yükleme 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 belirlerseniz Kubernetes'te Event Grid, Prometheus exposition 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 + 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üzden 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ı ve Event Grid işleç podlarının Çalışıyor durumunda olup olmadığını doğrulamak için aşağıdaki komutu yürütebilirsiniz. Bu, 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 konum oluşturmak için, "Dağıtımınız tamamlandı" bildirimi gösterildikten 5 dakika sonra en alttaki Bağlam sayfasını seçebilirsiniz. Alternatif olarak, Azure portalını 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 girdi görebilirsiniz. Yükleme durumu için Beklemede ifadesini görürseniz birkaç dakika bekleyin ve araç çubuğunda Yenile'yi seçin.
Azure CLI kullanarak yükleme
Kabuk oturumu başlatın. Bilgisayarınızda bir 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 değerini, işleç (istemci) veya aracı (sunucu) için genel sertifika, CA sertifikası veya anahtarı içeren adla değiştirin
filename
. Sağlanan tüm sertifikalar, satır kaydırma olmadan base64 kodlanmış olmalıdır. Bu nedenle komutununbase64 --wrap=0
kullanımı.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
.için
storageClassName
, aracı için kullanmak istediğiniz ve Kubernetes dağıtımınız tarafından desteklenen depolama sınıfını sağlayın. Ö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 için 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 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ı oluşturulurken veya güncelleştirilirken 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
--config-file
ilgili yapılandırma bilgilerini içeren bir json dosyasının adını geçirmek için parametresini kullanabileceğinize dikkat edin. HTTP'yi desteklemek için aşağıdaki ayarı ekleyin."eventgridbroker.service.supportedProtocols[0]": "http"
Yukarıdaki ayara sahip örnek bir 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>
Özelliği,
installedState
Event Grid uzantısı bileşenleri başarıyla dağıtıldıysa olmalıdırInstalled
.
Özel konum
Önemli
Event Grid konularını dağıtmaya çalışmadan önce Özel Konum oluşturulmalıdır. Azure portalını 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ırsınız: "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.