

大家好......我希望你们都过得很好。在这篇博客中,我们将看到如何使用kubernetes python客户端创建Ingress?我们都知道,通常我们使用kubectl命令来创建、列出、更新、删除kubernetes资源。
但在这篇文章中,我们将看到如何使用python来做这些事情的资源。
什么是Ingress?
Ingress提供了从集群外到集群服务的HTTP和HTTPS路由。在Ingress资源上设置的规则管理流量的路由。
一个Ingress可以被设置为负载平衡流量,终止SSL/TLS,提供基于名字的虚拟主机,并为服务提供外部可访问的URL。
负载平衡器通常由一个入口控制器来完成入口请求,但它也可以设置你的边缘路由器或额外的前端来协助处理流量。
没有不受限制的端口或协议是由一个Ingress暴露的。服务类型的服务经常被用来将HTTP和HTTPS以外的服务暴露在互联网上。节点端口或服务作为类型。
类型=LoadBalancer。
安装Python Kubernetes客户端
在我们开始使用kubernetes python客户端创建 Ingress之前。我们需要遵循一些先决条件,比如。
$ pip install kubernetes


现在kubernetes python客户端已经成功安装。
所以现在让我们看看如何通过kubernetes python客户端创建Ingress。
创建Ingress :
首先,我将创建一个名为Ingress_Demo的目录,在这个目录中我将创建一个名为ingress.py的文件
cd Desktop
mkdir Ingress_Demo
cd Ingress_Demo
touch ingress.py


现在,我的ingress.py文件包含以下代码,用于使用k8s Python客户端创建一个Ingress。
现在我们已经安装了k8s包,我们可以把它导入为:
from kubernetes import client, config
通过Python客户端创建Ingress的代码
from kubernetes import client, config
def create_ingress(networking_v1_api):
body = client.V1Ingress(
api_version="networking.k8s.io/v1",
kind="Ingress",
metadata=client.V1ObjectMeta(name="my-ingress", annotations={
"nginx.ingress.kubernetes.io/rewrite-target": "/"
}),
spec=client.V1IngressSpec(
rules=[client.V1IngressRule(
host="example.com",
http=client.V1HTTPIngressRuleValue(
paths=[client.V1HTTPIngressPath(
path="/",
path_type="Exact",
backend=client.V1IngressBackend(
service=client.V1IngressServiceBackend(
port=client.V1ServiceBackendPort(
number=5678,
),
name="service-example")
)
)]
)
)
]
)
)
networking_v1_api.create_namespaced_ingress(
namespace="default",
body=body
)
def main():
config.load_kube_config()
apps_v1_api = client.AppsV1Api()
networking_v1_api = client.NetworkingV1Api()
create_ingress(networking_v1_api)
if __name__ == "__main__":
main()
现在,是时候创建Ingress了。所以,我现在将运行python代码。
$ python3 ingress.py


现在;如果我检查我的Ingress是否被创建,那么我将简单地运行命令。
kubectl get ingress
正如你所看到的,我的ingress名为->我的ingress,已经成功创建。


所以,我们现在已经成功完成了。这就是我们如何使用Kubernetes python客户端的方法。
总结 :
所以,在这篇文章中,我们已经看到了如何轻松地使用Kubernetes python客户端创建ingress。