Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure Kubernetes Service (AKS) kümelerini giden internet erişimi için bir HTTP proxy kullanacak şekilde nasıl yapılandıracağınızı öğreniyorsunuz.
Yönetilen veya özel sanal ağlara dağıtılan AKS kümelerinin düzgün çalışabilmesi için gerekli bazı çıkış bağımlılıkları vardır; bu da internet erişiminin HTTP proxy'leri aracılığıyla yönlendirilmesi gereken ortamlarda sorunlar yarattı. Düğümlerin internet hizmetlerine erişmek için gerekli olan yapılandırma, ortam değişkenleri ve sertifikaları başlatmanın bir yolu yoktu.
HTTP proxy özelliği, HTTP proxy desteğini AKS kümelerine ekler, proxy'ye bağımlı ortamlarda AKS gerektiren ağ trafiğini güvence altına alabileceğiniz basit bir arayüz sunar. Bu özellik ile hem AKS düğümleri hem de podlar, HTTP proxy kullanacak şekilde yapılandırılır. Bu özellik, bir küme başlatma işleminin bir parçası olarak, düğümlere güvenilir bir sertifika otoritesinin yüklenmesini de sağlar. More complex solutions might require creating a chain of trust to establish secure communications across the network.
Sınırlamalar ve Dikkat Edilecek Hususlar
Aşağıdaki senaryolar desteklenmez:
- Different proxy configurations per node pool
- Kullanıcı/Şifre doğrulama
- API sunucu iletişimi için özel sertifika otoriteleri
- Windows düğüm havuzları ile AKS kümeleri
- Sanal Makine Kullanılabilirlik Setlerini (VMAS) kullanan düğüm havuzları
- Using * as wildcard attached to a domain suffix for noProxy
httpProxy
, httpsProxy
, and trustedCa
have no value by default. Pod'lara aşağıdaki ortam değişkenleri enjekte edilir:
HTTP_PROXY
http_proxy
HTTPS_PROXY
https_proxy
NO_PROXY
no_proxy
Proxy ortam değişkenlerinin enjeksiyonunu devre dışı bırakmak için, Pod'u "kubernetes.azure.com/no-http-proxy-vars":"true"
ile açıklamanız gerekiyor.
Başlamadan önce
- Azure CLI'nin en son sürümüne ihtiyacınız var. Versiyonu bulmak için
az --version
çalıştırın ve versiyonu yükseltmek içinaz upgrade
çalıştırın. Eğer kurulum yapmanız veya yükseltmeniz gerekiyorsa, Azure CLI Kurulumu başlığına bakın. - Check for available AKS cluster upgrades to ensure you're running the latest version of AKS. If you need to upgrade, see Upgrade an AKS cluster.
- Azure CLI kullanarak HTTP proxy'si yapılandırma
- Azure Resource Manager (ARM) şablonu kullanarak HTTP proxy'si yapılandırma
- Dış Hizmetler için Istio Add-On HTTP Proxy'si
You can configure an AKS cluster with an HTTP proxy during cluster creation using the az aks create
command and passing in configuration as a JSON file.
- Bir dosya oluşturun ve
httpProxy
,httpsProxy
venoProxy
için değerler sağlayın. Ortamınız bunu gerektiriyorsa,trustedCa
için bir değer sağlayın.
Yapılandırma dosyası için şema şöyle görünüyor:
{
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": [
"string"
],
"trustedCa": "string"
}
Her parametrenin gereksinimlerini gözden geçirin:
-
httpProxy
: Küme dışındaki HTTP bağlantılarını oluşturmak için kullanılacak bir proxy URL'si. URL şemasıhttp
olmalıdır. -
httpsProxy
: Küme dışındaki HTTPS bağlantılarını oluşturmak için kullanılacak bir proxy URL'si. If not specified, thenhttpProxy
is used for both HTTP and HTTPS connections. -
noProxy
: A list of destination domain names, domains, IP addresses, or other network CIDRs to exclude proxying. -
trustedCa
: Alternatif CA sertifika içeriğini içeren bir dize. Şu anda yalnızcaPEM
formatı desteklenmektedir.
Önemli
For compatibility with Go-based components that are part of the Kubernetes system, the certificate must support Subject Alternative Names(SANs)
instead of the deprecated Common Name certs.
Çevresel değişken http_proxy
, https_proxy
ve no_proxy
ile uyum sağlama şekli konusunda uygulamalarda farklılıklar bulunmaktadır. Curl ve Python, no_proxy
içinde CIDR'yi desteklemez, ancak Ruby destekler.
Örnek giriş:
{
"httpProxy": "http://myproxy.server.com:8080/",
"httpsProxy": "https://myproxy.server.com:8080/",
"noProxy": [
"localhost",
"127.0.0.1"
],
"trustedCA": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUgvVENDQmVXZ0F3SUJB...b3Rpbk15RGszaWFyCkYxMFlscWNPbWVYMXVGbUtiZGkvWG9yR2xrQ29NRjNURHg4cm1wOURCaUIvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0="
}
- parametresi oluşturduğunuz dosyaya
az aks create
--http-proxy-config
ayarlanmış komutunu kullanarak bir küme oluşturun.
az aks create \
--name $clusterName \
--resource-group $resourceGroup \
--http-proxy-config aks-proxy-config.json \
--generate-ssh-keys
Kümeniz, düğümlerde yapılandırılmış HTTP proxy ile başlatılmalıdır.
Http proxy yapılandırmasını etkinleştirmek veya güncelleştirmek için kümeyi güncelleştirme
Note
Yeni bir proxy'e geçiliyorsa, güncellemenin başarılı olması için yeni proxy'nin önceden var olması gerekir. After the upgrade is completed, you can delete the old proxy.
HTTP Proxy yapılandırması, komutu kullanılarak az aks update
mevcut bir kümede etkinleştirilebilir veya güncelleştirilebilir. parametresi, --http-proxy-config
, ve trustedCa
gerekirse güncelleştirilmiş değerleri httpProxy
httpsProxy
noProxy
olan yeni bir JSON dosyasına ayarlanmalıdır. Güncelleme, httpProxy
, httpsProxy
veya noProxy
değerleriyle yeni ortam değişkenlerini pod'lara enjekte eder.
Dikkat
komutunu kullanarak kümenizdeki ara sunucu yapılandırmasını güncelleştirdiğinizde AKS, kümedeki tüm düğüm havuzlarını otomatik olarak yeniden oluşturur az aks update
. Kritik podların yeniden görüntüleme sırasında kesintiye uğramasını önlemek için Pod Kesinti Bütçelerini (PDB) kullanabilirsiniz.
Örneğin, yeni CA sertifikasının base64 ile kodlanmış dizgisi olan aks-proxy-config-2.json adında yeni bir dosya oluşturduğunuzu söyleyelim. Kümenizdeki proxy yapılandırmasını aşağıdaki komutla güncelleyebilirsiniz:
az aks update --name $clusterName --resource-group $resourceGroup --http-proxy-config aks-proxy-config-2.json
Eklenti yapılandırmasını izleme
HTTP proxy, izleme eklentisiyle birlikte aşağıdaki yapılandırmaları destekler:
- Giden vekil sunucu kimlik doğrulama olmadan
- Kullanıcı adı ve parola kimlik doğrulamalı giden proxy
- Güvenilir sertifikaya sahip bir çıkış vekil sunucusu, Log Analitik uç noktası için.
Aşağıdaki yapılandırmalar desteklenmemektedir:
- Güvenilir sertifikalara sahip bir proxy kullanıldığında Özel Metrikler ve Önerilen Uyarılar özellikleri
Sonraki adımlar
AKS kümelerinin ağ gereksinimleri hakkında daha fazla bilgi için, AKS'de küme düğümleri için çıkış trafiğini kontrol etme sayfasına bakın.
Azure Kubernetes Service