IPv6, IPv4'e kıyasla daha geniş bir adres alanı ve gelişmiş güvenlik sunar. Bu konuda, bir ASM ağ geçidini IPv6 adresiyle nasıl oluşturacağınız ve mevcut bir ağ geçidine IPv6 adresini nasıl ekleyeceğiniz açıklanmaktadır.
Önkoşullar
Küme, ASM örneğine eklenmiştir. Daha fazla bilgi için bkz. Bir kümeyi ASM örneğine ekleme.
Yöntem 1: IPv6 destekli bir ASM ağ geçidi oluşturma
Bir ASM ağ geçidi oluştururken, ona bir IPv6 adresi atamak için service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6" ek açıklamasını (annotation) ekleyin.
ASM konsolu üzerinde oturum açın. Sol gezinme bölmesinde seçeneğini belirleyin.
Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin.
Ingress Gateway sayfasında Create from YAML öğesini tıklayın.
-
Create sayfasında Namespaces değerini istio-system olarak ayarlayın, düzenleyiciye aşağıdaki içeriği girin ve ardından Create öğesini tıklayın.
clusterIdsalanını veri düzlemi kümenizin kimliği (ID) ile doldurun.Parametre
Açıklama
service.beta.kubernetes.io/alicloud-loadbalancer-address-type
CLB örneğinin ağ türü. Geçerli değerler şunlardır:
-
internet: Genel ağ.
-
intranet: Özel ağ.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec
CLB örneğinin teknik özellikleri. Geçerli değerler:
slb.s1.small,slb.s2.small,slb.s2.medium,slb.s3.small,slb.s3.mediumveslb.s3.large.service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version
CLB örneğine bir IPv6 adresi atamak için değeri
"ipv6"olarak ayarlayın.Ağ geçidi oluşturulduktan sonra, Ingress Gateway sayfasında ağ geçidinin Service address değeri olarak bir IPv6 adresi görüntülenir.
-
Yöntem 2: Mevcut bir ASM ağ geçidine IPv6 ekleme
IPv4 adresi kullanan bir ASM ağ geçidiniz varsa, ek bir CLB örneği oluşturarak IPv6 desteği ekleyebilirsiniz. Bu yapılandırma, ağ geçidinin hem IPv4 hem de IPv6 adreslerini kullanmasını sağlar.
ACK konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters öğesini tıklayın.
Clusters sayfasında kümenizin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin.
Services sayfasının üst kısmında Namespace değerini istio-system olarak ayarlayın ve ardından sağ üst köşede bulunan Create Resources in YAML öğesini tıklayın.
-
Create sayfasında Sample Template değerini Custom olarak seçin, aşağıdaki içeriği Template düzenleyicisine kopyalayın ve ardından Create öğesini tıklayın.
ÖnemlinodePortdeğeri, mevcut herhangi bir bağlantı noktası numarasıyla çakışmamalıdır.Parametre
Açıklama
service.beta.kubernetes.io/alicloud-loadbalancer-address-type
CLB örneğinin ağ türü. Geçerli değerler şunlardır:
-
internet: Genel ağ.
-
intranet: Özel ağ.
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec
CLB örneğinin teknik özellikleri. Geçerli değerler:
slb.s1.small,slb.s2.small,slb.s2.medium,slb.s3.small,slb.s3.mediumveslb.s3.large.service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version
CLB örneğine bir IPv6 adresi atamak için değeri
"ipv6"olarak ayarlayın.Hizmet oluşturulduktan sonra, Services sayfasındaki External IP sütununda
istio-ingressgatewayveistio-ingressgateway-2için IPv4 ve IPv6 adresleri listelenir. Bu adresler, ASM ağ geçidi için IPv4 ve IPv6 giriş noktaları olarak hizmet verir. -
SSS
Orijinal istemci IPv6 adresini alma
IPv6 adresiyle ilişkili CLB örneğini yapılandırın. 80 ve 443 numaralı bağlantı noktaları için dinleyici yapılandırmalarını değiştirin. Advanced Settings bölümünde Proxy Protocol özelliğini etkinleştirin. Daha fazla bilgi için bkz. CLB örneğinin Katman 4 dinleyicisini kullanarak istemcinin gerçek IP adresini alma.
-
Bir EnvoyFilter Şablonu oluşturun.
ASM konsolu üzerinde oturum açın. Sol gezinme bölmesinde seçeneğini belirleyin.
Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin. Açılan sayfada Create EnvoyFilter Template öğesini tıklayın.
-
Create sayfasında bir şablon adı girin, Add an EnvoyFilter template for specific adapted istio version. öğesini tıklayın, bir Adapted istio version seçin, aşağıdaki YAML yapılandırmasını girin ve ardından Create öğesini tıklayın.
apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata: name: proxy-protocol namespace: istio-system spec: configPatches: - applyTo: LISTENER patch: operation: MERGE value: listener_filters: - name: envoy.listener.proxy_protocol - name: envoy.listener.tls_inspector workloadSelector: labels: istio: ingressgateway
-
Proxy Protocol desteğini etkinleştirmek için EnvoyFilter Şablonunu ASM ağ geçidine uygulayın.
EnvoyFilter Template sayfasında hedef şablonu bulun ve Actions sütunundaki Edit template seçeneğini tıklayın.
Edit EnvoyFilter Template sayfasında Bind template to workloads sekmesini tıklayın ve ardından Bind EnvoyFilter to Workloads öğesini seçin.
Bind EnvoyFilter to Workloads iletişim kutusunda Namespaces değerini istio-system ve Workload Type değerini Deployment olarak ayarlayın. Not bound bölümünde hedef ağ geçidinin yanındaki Bind seçeneğini tıklayın ve ardından OK öğesini seçin.
-
Ağ geçidinin IPv6 URL'sine bir IPv6 ağı üzerinden erişin ve ilgili ağ geçidi günlüklerini görüntüleyin.
Aşağıdaki örnek ağ geçidi günlüğünde,
downstream_remote_addressalanının değeri istemcinin orijinal IPv6 adresidir.{"upstream_cluster":null,"bytes_received":0,"downstream_local_address":"[2400:XXXX:1300::12d1]:80","upstream_service_time":null,"FILTER_CHAIN_NAME":null,"path":"/","x_forwarded_for":"2402:XXXX:1800:af00:0:9671:f00f:314b","upstream_host":null,"bytes_sent":0,"requested_server_name":null,"route_name":null,"response_flags":"NR","start_time":"2022-12-28T06:41:57.796Z","upstream_transport_failure_reason":null,"protocol":"HTTP/1.1","authority":"[2400:XXXX:1300::12d1]","LOCAL_REPLY_BODY":"","duration":0,"method":"GET","downstream_remote_address":"[2402:XXXX:1800:af00:0:9671:f00f:314b]:58272","request_id":"fee2b69a-b755-986b-91e4-5d228c81****","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36","trace_id":null,"authority_for":"[2400:XXXX:1300::12d1]","upstream_local_address":null,"istio_policy_status":null,"response_code":404}