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. Daha karmaşık çözümler, ağ genelinde güvenli iletişim kurmak için bir güven zinciri oluşturmayı gerektirebilir.
Sınırlamalar ve Dikkat Edilecek Hususlar
Aşağıdaki senaryolar desteklenmez:
- Her bir düğüm havuzu için farklı ara sunucu yapılandırmaları
- 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ı
- NoProxy için etki alanı son ekine joker karakter olarak * ekleyerek kullanma
httpProxy, httpsProxyve trustedCa varsayılan olarak hiçbir değere sahip değildir. Pod'lara aşağıdaki ortam değişkenleri enjekte edilir:
HTTP_PROXYhttp_proxyHTTPS_PROXYhttps_proxyNO_PROXYno_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 Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalışıyorsanız, Azure CLI'yi bir Docker konteynerinde çalıştırmayı düşünün. Daha fazla bilgi için Azure CLI'nin bir Docker konteynerında nasıl çalıştırılacağını inceleyin.
Yerel bir kurulum kullanıyorsanız, az login komutunu kullanarak Azure CLI'ye giriş yapın. Kimlik doğrulama işlemini tamamlamak için, terminalinizde görüntülenen adımları takip edin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma ve yönetme.
Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
HTTP proxy değerleriyle yapılandırma dosyası oluşturma
Bir dosya oluşturun ve httpProxy, httpsProxy ve noProxy 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ıhttpolmalıdır. -
httpsProxy: Küme dışındaki HTTPS bağlantılarını oluşturmak için kullanılacak bir proxy URL'si. Belirtilmezse,httpProxyhem HTTP hem de HTTPS bağlantıları için kullanılır. -
noProxy: Proxy oluşturmayı dışlamak için hedef etki alanı adlarının, etki alanlarının, IP adreslerinin veya diğer ağ CIDR'lerinin listesi. -
trustedCa: Alternatif CA sertifika içeriğini içeren bir dize. Şu anda yalnızcaPEMformatı desteklenmektedir.
Önemli
Kubernetes sisteminin parçası olan Go tabanlı bileşenlerle uyumluluk için, sertifikanın kullanım dışı bırakılan Ortak Ad sertifikaları yerine destek Subject Alternative Names(SANs).
Ç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...S0tLS0="
}
Azure CLI kullanarak HTTP proxy yapılandırmasıyla küme oluşturma
Küme oluşturma sırasında HTTP proxy yapılandırmasıyla AKS kümesini yapılandırabilirsiniz.
az aks createkomutunu kullanın ve yapılandırmanızı JSON dosyası olarak geçirin.az aks create \ --name $clusterName \ --resource-group $resourceGroup \ --http-proxy-config aks-proxy-config.json \ --generate-ssh-keysKümeniz, düğümlerde yapılandırılmış HTTP proxy ile başlatılmalıdır.
HTTP proxy yapılandırmasının, ortam değişkenlerinin
http_proxy,https_proxyveno_proxyiçin uygun değerleri içerdiğinden emin olmak içinkubectl describe podkomutunu kullanarak podlarda ve düğümlerde olduğunu doğrulayın.kubectl describe {any pod} -n kube-systemAra sunucu değişkenlerinin podlarda ayarlandığını doğrulamak için düğümlerde bulunan ortam değişkenlerini de kontrol edebilirsiniz.
kubectl get nodes kubectl node-shell {node name} cat /etc/environment
HTTP proxy yapılandırmasını güncelleştirme
Mevcut kümelerde HTTP proxy yapılandırmalarını güncelleştirebilirsiniz, örneğin:
- HTTP ara sunucusunu etkinleştirmek ve yeni bir HTTP proxy yapılandırması eklemek için var olan bir kümeyi güncelleştirme.
- Http proxy yapılandırmasını değiştirmek için mevcut kümeyi güncelleştirme.
HTTP proxy güncelleştirmesinde dikkat edilmesi gerekenler
parametresi, --http-proxy-config , ve httpProxy gerekirse güncelleştirilmiş değerleri httpsProxynoProxytrustedCaolan 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. Uygulamaların bunu alabilmesi için podlar yeniden başlatılmalıdır, çünkü ortam değişkeni değerleri değiştiren bir kabul webhook'u tarafından enjekte edilir.
Uyarı
Yeni bir proxy'e geçiliyorsa, güncellemenin başarılı olması için yeni proxy'nin önceden var olması gerekir. Yükseltme tamamlandıktan sonra eski proxy'yi silebilirsiniz.
HTTP proxy'sini güncelleştirmek veya etkinleştirmek için kümeyi güncelleştirme
komutunu kullanarak mevcut bir kümede HTTP proxy yapılandırmalarını etkinleştirin veya güncelleştirin
az aks update.Ö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
Dikkat
az aks update komutunu kullanarak kümenizdeki ara sunucu yapılandırmasını güncellediğinizde, AKS, kümedeki tüm düğüm havuzlarını otomatik olarak yeniden görüntüler. 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.
HTTP proxy yapılandırmasının, ortam değişkenlerinin
http_proxy,https_proxyveno_proxyiçin uygun değerleri içerdiğinden emin olmak içinkubectl describe podkomutunu kullanarak podlarda ve düğümlerde olduğunu doğrulayın.kubectl describe {any pod} -n kube-systemAra sunucu değişkenlerinin podlarda ayarlandığını doğrulamak için düğümlerde bulunan ortam değişkenlerini de kontrol edebilirsiniz.
kubectl get nodes kubectl node-shell {node name} cat /etc/environment
Var olan bir kümede HTTP proxy'sini devre dışı bırakma (Önizleme)
Uzantıyı yükleme aks-preview
aks-previewkomutunu kullanarak Azure CLI uzantısınıaz extension addyükleyin.Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
az extension add --name aks-previewkomutunu kullanarak uzantının en son sürümüne güncelleştirin
az extension update. HTTP Proxy'sini devre dışı bırakmak için en az 18.0.0b13 gerekir.az extension update --name aks-preview
Özellik bayrağını kaydet DisableHTTPProxyPreview
DisableHTTPProxyPreviewözellik bayrağınıaz feature registerkomutunu kullanarak kaydedin.az feature register --namespace Microsoft.ContainerService --name DisableHTTPProxyPreviewkomutunu kullanarak
az feature showkayıt durumunu doğrulayın. Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer.az feature show --namespace Microsoft.ContainerService --name DisableHTTPProxyPreviewDurum Kayıtlı olarak yansıtıldığında komutunu kullanarak
az provider registerkaynak sağlayıcısının kaydını yenileyin.az provider register --namespace Microsoft.ContainerService
HTTP proxy'sini devre dışı bırakmak için kümeyi güncelleştirme (önizleme)
HTTP proxy'sini devre dışı bırakmak için
az aks updatekomutunu--disable-http-proxybayrağıyla kullanarak kümenizi güncelleyin.az aks update --name $clusterName --resource-group $resourceGroup --disable-http-proxy
Dikkat
az aks update komutunu kullanarak kümenizdeki ara sunucu yapılandırmasını güncellediğinizde, AKS, kümedeki tüm düğüm havuzlarını otomatik olarak yeniden görüntüler. 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.
HTTP proxy'nin kapalı olduğunu doğrulamak için,
kubectl describe podkomutunu kullanarak HTTP proxy yapılandırmasının podlar ve düğümlerde ayarlı olmadığını doğrulayın.kubectl describe {any pod} -n kube-systemAra sunucu değişkenlerinin podlarda ayarlanmamış olduğunu doğrulamak için düğümlerde bulunan ortam değişkenlerini de kontrol edebilirsiniz.
kubectl get nodes kubectl node-shell {node name} cat /etc/environment
Var olan bir kümede HTTP proxy'sini yeniden etkinleştirme
Küme oluşturduğunuzda, HTTP ara sunucusu varsayılan olarak etkinleştirilir. Kümede HTTP proxy'sini devre dışı bırakdığınızda, ara sunucu yapılandırması veritabanına kaydedilir, ancak ara sunucu değişkenleri podlardan ve düğümlerden kaldırılır.
Mevcut bir kümede HTTP proxy'yi yeniden etkinleştirmek için az aks update komutunu bu --enable-http-proxy bayrağıyla kullanın.
az aks update --name $clusterName --resource-group $resourceGroup --enable-http-proxy
Dikkat
az aks update komutunu kullanarak kümenizdeki ara sunucu yapılandırmasını güncellediğinizde, AKS, kümedeki tüm düğüm havuzlarını otomatik olarak yeniden görüntüler. 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.
Önemli
Devre dışı bırakmadan önce kümenizde bir HTTP proxy yapılandırması varsa, bu kümede HTTP ara sunucusunu yeniden etkinleştirdiğinizde mevcut HTTP proxy yapılandırması otomatik olarak uygulanır. Devam etmeden önce geçerli gereksinimlerinizi karşıladığından emin olmak için yapılandırmayı doğrulamanızı öneririz. HTTP proxy'sini yeniden etkinleştirdikten sonra HTTP proxy yapılandırmanızı değiştirmek istiyorsanız, MEVCUT bir kümede HTTP proxy yapılandırmasını güncelleştirme adımlarını izleyin.
Azure Resource Manager (ARM) şablonu kullanarak HTTP proxy yapılandırmasını yapılandırma
Bir AKS kümesini HTTP proxy ile bir ARM şablonu kullanarak dağıtabilirsiniz.
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ıhttpolmalıdır. -
httpsProxy: Küme dışındaki HTTPS bağlantılarını oluşturmak için kullanılacak bir proxy URL'si. Belirtilmezse,httpProxyhem HTTP hem de HTTPS bağlantıları için kullanılır. -
noProxy: Proxy oluşturmayı dışlamak için hedef etki alanı adlarının, etki alanlarının, IP adreslerinin veya diğer ağ CIDR'lerinin listesi. -
trustedCa: Alternatif CA sertifika içeriğini içeren bir dize. Şu anda yalnızcaPEMformatı desteklenmektedir.
Önemli
Kubernetes sisteminin parçası olan Go tabanlı bileşenlerle uyumluluk için, sertifikanın kullanım dışı bırakılan Ortak Ad sertifikaları yerine destek
Subject Alternative Names (SANs).Çevresel değişken
http_proxy,https_proxyveno_proxyile uyum sağlama şekli konusunda uygulamalarda farklılıklar bulunmaktadır. Curl ve Python,no_proxyiçinde CIDR'yi desteklemez, ancak Ruby destekler.-
HTTP proxy parametreleriyle bir şablon oluşturun. Şablonunuzda
httpProxy,httpsProxyvenoProxyiçin değerler girin. GerekirsetrustedCaiçin bir değer sağlayın. CLI dağıtımı için kullanılan aynı şemaMicrosoft.ContainerService/managedClustersaltındaki"properties"tanımında mevcuttur, aşağıdaki örnekte gösterildiği gibi:"properties": { ..., "httpProxyConfig": { "enabled": "true", "httpProxy": "string", "httpsProxy": "string", "noProxy": [ "string" ], "trustedCa": "string" } }ARM şablonunuzu HTTP Proxy yapılandırmasıyla dağıtın. Kümeniz, düğümlerde yapılandırılmış HTTP proxy ile başlatılmalıdır.
HTTP proxy yapılandırmasını güncelleştirme
Mevcut kümelerde HTTP proxy yapılandırmalarını güncelleştirebilirsiniz, örneğin:
- HTTP ara sunucusunu etkinleştirmek ve yeni bir HTTP proxy yapılandırması eklemek için var olan bir kümeyi güncelleştirme.
- Http proxy yapılandırmasını değiştirmek için mevcut kümeyi güncelleştirme.
HTTP proxy güncelleştirmesinde dikkat edilmesi gerekenler
parametresi, --http-proxy-config , ve httpProxy gerekirse güncelleştirilmiş değerleri httpsProxynoProxytrustedCaolan 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. Uygulamaların bunu alabilmesi için podlar yeniden başlatılmalıdır, çünkü ortam değişkeni değerleri değiştiren bir kabul webhook'u tarafından enjekte edilir.
Uyarı
Yeni bir proxy'e geçiliyorsa, güncellemenin başarılı olması için yeni proxy'nin önceden var olması gerekir. Yükseltme tamamlandıktan sonra eski proxy'yi silebilirsiniz.
HTTP proxy'sini yapılandırmak için ARM şablonunu güncelleştirme
Şablonunuzda
httpProxy,httpsProxyvenoProxyiçin yeni değerler belirleyin. GerekirsetrustedCaiçin bir değer sağlayın.CLI dağıtımı için kullanılan aynı şema
Microsoft.ContainerService/managedClustersaltındaki"properties"tanımında mevcuttur, aşağıdaki örnekte gösterildiği gibi:"properties": { ..., "httpProxyConfig": { "enabled": "true", "httpProxy": "string", "httpsProxy": "string", "noProxy": [ "string" ], "trustedCa": "string" } }Güncellenmiş HTTP Proxy konfigürasyonuyla, ARM şablonunuzu dağıtın.
Dikkat
az aks update komutunu kullanarak kümenizdeki ara sunucu yapılandırmasını güncellediğinizde, AKS, kümedeki tüm düğüm havuzlarını otomatik olarak yeniden görüntüler. 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.
HTTP proxy yapılandırmasının, ortam değişkenlerinin
http_proxy,https_proxyveno_proxyiçin uygun değerleri içerdiğinden emin olmak içinkubectl describe podkomutunu kullanarak podlarda ve düğümlerde olduğunu doğrulayın.kubectl describe {any pod} -n kube-systemAra sunucu değişkenlerinin podlarda ayarlandığını doğrulamak için düğümlerde bulunan ortam değişkenlerini de kontrol edebilirsiniz.
kubectl get nodes kubectl node-shell {node name} cat /etc/environment
ARM şablonu kullanarak var olan bir kümede HTTP proxy'sini devre dışı bırakma (Önizleme)
Uzantıyı yükleme aks-preview
aks-previewkomutunu kullanarak Azure CLI uzantısınıaz extension addyükleyin.Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
az extension add --name aks-previewkomutunu kullanarak uzantının en son sürümüne güncelleştirin
az extension update. HTTP Proxy'sini devre dışı bırakmak için en az 18.0.0b13 gerekir.az extension update --name aks-preview
Özellik bayrağını kaydet DisableHTTPProxyPreview
DisableHTTPProxyPreviewözellik bayrağınıaz feature registerkomutunu kullanarak kaydedin.az feature register --namespace Microsoft.ContainerService --name DisableHTTPProxyPreviewkomutunu kullanarak
az feature showkayıt durumunu doğrulayın. Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer.az feature show --namespace Microsoft.ContainerService --name DisableHTTPProxyPreviewDurum Kayıtlı olarak yansıtıldığında komutunu kullanarak
az provider registerkaynak sağlayıcısının kaydını yenileyin.az provider register --namespace Microsoft.ContainerService
HTTP ara sunucusunu devre dışı bırakmak için kümeyi güncelleştirme
Küme ARM şablonunuzu, HTTP proxy'sini devre dışı bırakmak için
enabledöğesinifalseolarak ayarlayarak güncelleyin. CLI dağıtımı için kullanılan aynı şemaMicrosoft.ContainerService/managedClustersaltındaki"properties"tanımında mevcuttur, aşağıdaki örnekte gösterildiği gibi:"properties": { ..., "httpProxyConfig": { "enabled": "false", } }ARM şablonunuzu HTTP Ara Sunucusu devre dışı bırakılmış olarak dağıtın.
Dikkat
az aks update komutunu kullanarak kümenizdeki ara sunucu yapılandırmasını güncellediğinizde, AKS, kümedeki tüm düğüm havuzlarını otomatik olarak yeniden görüntüler. 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.
Podlar ve düğümler üzerinde HTTP Proxy yapılandırmasının ayarlı olmadığını
kubectl describe podkomutuyla doğrulayarak HTTP proxy'sinin devre dışı olduğunu kontrol edin.kubectl describe {any pod} -n kube-systemAra sunucu değişkenlerinin podlarda ayarlanmamış olduğunu doğrulamak için düğümlerde bulunan ortam değişkenlerini de kontrol edebilirsiniz.
kubectl get nodes kubectl node-shell {node name} cat /etc/environment
Var olan bir kümede HTTP proxy'sini yeniden etkinleştirme
Küme oluşturduğunuzda, HTTP ara sunucusu varsayılan olarak etkinleştirilir. Kümede HTTP proxy'sini devre dışı bırakdığınızda, artık bu kümeye HTTP proxy yapılandırmaları ekleyemezsiniz.
HTTP ara sunucusunu yeniden etkinleştirmek istiyorsanız , ARM şablonu kullanarak HTTP proxy yapılandırmasını güncelleştirme adımlarını izleyin.
Dış Hizmetler için Istio eklentisi HTTP ara sunucusu
AKS için Istio tabanlı hizmet ağı eklentisini kullanıyorsanız, ağ içindeki uygulamalarınızın HTTP ara sunucusu aracılığıyla küme dışı veya dış kaynaklara erişmesini sağlamak için bir Hizmet Girişi oluşturmanız gerekir.
Örneğin:
apiVersion: networking.istio.io/v1
kind: ServiceEntry
metadata:
name: proxy
spec:
hosts:
- my-company-proxy.com # ignored
addresses:
- $PROXY_IP/32
ports:
- number: $PROXY_PORT
name: tcp
protocol: TCP
location: MESH_EXTERNAL
Bir dosya oluşturun ve
PROXY_IPvePROXY_PORTiçin değerler sağlayın.Hizmet Girdisini şu şekilde dağıtabilirsiniz:
kubectl apply -f service_proxy.yaml
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
- Güvenilir sertifikaya sahip bir çıkış vekil sunucusu, Log Analitik uç noktası için.
Aşağıdaki yapılandırma desteklenmez:
- 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.