复杂嵌套的场景,便于完整开发
(weops) [root@node201 ~]# cat ingress.tls.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web
spec:
tls:
- hosts:
- web.gon.com
secretName: web.gon.com
- hosts:
- web1.gon.com
secretName: web1.gon.com
rules:
- host: web.gon.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web #指定servcie中的名称
port:
number: 1080 #指定servcie对应的port端口
- path: /web1
pathType: Prefix
backend:
service:
name: web1 #指定servcie中的名称
port:
number: 1081 #指定servcie对应的port端口
- host: web2.gon.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web2 #指定servcie中的名称
port:
number: 1082 #指定servcie对应的port端口
(weops) [root@node201 ~]#
OutPut:
[{'api_version': None,
'kind': None,
'metadata': {'annotations': {'kubectl.kubernetes.io/last-applied-configuration': '{"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{},"name":"web","namespace":"default"},"spec":{"rules":[{"host":"web.gon.com","http":{"paths":[{"backend":{"service":{"name":"web","port":{"number":1080}}},"path":"/","pathType":"Prefix"},{"backend":{"service":{"name":"web1","port":{"number":1081}}},"path":"/web1","pathType":"Prefix"}]}},{"host":"web2.gon.com","http":{"paths":[{"backend":{"service":{"name":"web2","port":{"number":1082}}},"path":"/","pathType":"Prefix"}]}}],"tls":[{"hosts":["web.gon.com"],"secretName":"web.gon.com"},{"hosts":["web1.gon.com"],"secretName":"web1.gon.com"}]}}\n'},
'cluster_name': None,
'creation_timestamp': datetime.datetime(2022, 3, 24, 8, 39, 45, tzinfo=tzutc()),
'deletion_grace_period_seconds': None,
'deletion_timestamp': None,
'finalizers': None,
'generate_name': None,
'generation': 6,
'labels': None,
'managed_fields': [{'api_version': 'networking.k8s.io/v1',
'fields_type': 'FieldsV1',
'fields_v1': {'f:metadata': {'f:annotations': {'.': {},
'f:kubectl.kubernetes.io/last-applied-configuration': {}}},
'f:spec': {'f:rules': {},
'f:tls': {}}},
'manager': 'kubectl-client-side-apply',
'operation': 'Update',
'time': datetime.datetime(2022, 3, 24, 17, 3, 6, tzinfo=tzutc())}],
'name': 'web',
'namespace': 'default',
'owner_references': None,
'resource_version': '2683752',
'self_link': None,
'uid': 'b23951d4-6834-4af2-9fb4-e2f49be11a95'},
'spec': {'backend': None,
'ingress_class_name': None,
'rules': [{'host': 'web.gon.com',
'http': {'paths': [{'backend': {'resource': None,
'service_name': 'web',
'service_port': 1080},
'path': '/',
'path_type': 'Prefix'},
{'backend': {'resource': None,
'service_name': 'web1',
'service_port': 1081},
'path': '/web1',
'path_type': 'Prefix'}]}},
{'host': 'web2.gon.com',
'http': {'paths': [{'backend': {'resource': None,
'service_name': 'web2',
'service_port': 1082},
'path': '/',
'path_type': 'Prefix'}]}}],
'tls': [{'hosts': ['web.gon.com'], 'secret_name': 'web.gon.com'},
{'hosts': ['web1.gon.com'], 'secret_name': 'web1.gon.com'}]},
'status': {'load_balancer': {'ingress': None}}}, {'api_version': None,
'kind': None,
'metadata': {'annotations': {'kubectl.kubernetes.io/last-applied-configuration': '{"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{},"name":"web1","namespace":"default"},"spec":{"rules":[{"host":"web1.gon.com","http":{"paths":[{"backend":{"service":{"name":"web1","port":{"number":1081}}},"path":"/","pathType":"Prefix"}]}}]}}\n'},
'cluster_name': None,
'creation_timestamp': datetime.datetime(2022, 3, 24, 8, 40, 20, tzinfo=tzutc()),
'deletion_grace_period_seconds': None,
'deletion_timestamp': None,
'finalizers': None,
'generate_name': None,
'generation': 1,
'labels': None,
'managed_fields': [{'api_version': 'networking.k8s.io/v1',
'fields_type': 'FieldsV1',
'fields_v1': {'f:metadata': {'f:annotations': {'.': {},
'f:kubectl.kubernetes.io/last-applied-configuration': {}}},
'f:spec': {'f:rules': {}}},
'manager': 'kubectl-client-side-apply',
'operation': 'Update',
'time': datetime.datetime(2022, 3, 24, 8, 40, 20, tzinfo=tzutc())}],
'name': 'web1',
'namespace': 'default',
'owner_references': None,
'resource_version': '2633917',
'self_link': None,
'uid': 'b3e00ae8-ee8a-4837-afd7-49f3b8d9ce89'},
'spec': {'backend': None,
'ingress_class_name': None,
'rules': [{'host': 'web1.gon.com',
'http': {'paths': [{'backend': {'resource': None,
'service_name': 'web1',
'service_port': 1081},
'path': '/',
'path_type': 'Prefix'}]}}],
'tls': None},
'status': {'load_balancer': {'ingress': None}}}]