站长网 Linux 使用Traefik控制Kubernetes流量

使用Traefik控制Kubernetes流量

创建一个文件mysite.yaml,其内容如下: apiVersion: apps/v1 kind:Deployment metadata: name: mysite-nginx labels: app: mysite-nginx spec: replicas:1 selector: matchLabels: app: mysite-nginx template: metadata: labels: app: mysite-nginx spec

创建一个文件 mysite.yaml,其内容如下:

apiVersion: apps/v1

kind:Deployment

metadata:

name: mysite-nginx

labels:

app: mysite-nginx

spec:

replicas:1

selector:

matchLabels:

app: mysite-nginx

template:

metadata:

labels:

app: mysite-nginx

spec:

containers:

– name: nginx

image: nginx

ports:

– containerPort:80

其中大部分是样板。重要的部分,我们会将该部署命名为 mysite-nginx,并为其加上同名的 app 标签。我们指定了一个副本replica,这意味着将只创建一个 Pod。我们还指定了一个容器,我们将其命名为 nginx。我们将镜像image指定为 nginx。这意味着在部署时,k3s 将从 DockerHub 下载 nginx 镜像并从中创建一个 Pod。最后,我们指定了容器端口containerPort为 80,这只意味着在容器内部 Pod 会监听 80 端口。

我在上面强调了“在容器内部”,因为这是一个重要的区别。由于我们是按容器配置的,因此只能在容器内部访问它,并且进一步将其限制为内部网络。这对于允许多个容器在同一容器端口上监听所是必要的。换句话说,通过这种配置,其他一些 Pod 也可以在其容器端口 80 上侦听,并且不会与此容器冲突。为了提供对该 Pod 的正式访问权限,我们需要一个服务service配置。

服务配置

在 Kubernetes 中,服务service是一种抽象。它提供了一种访问 Pod 或 Pod 集合的方法。当连接到服务时,服务会路由到单个 Pod,或者如果定义了多个 Pod 副本,会通过负载均衡路由到多个 Pod。

可以在同一配置文件中指定该服务,这就是我们将在此处要做的。用 — 分隔配置区域,将以下内容添加到 mysite.yaml 中:

apiVersion: v1

kind:Service

metadata:

name: mysite-nginx-service

spec:

selector:

app: mysite-nginx

ports:

– protocol: TCP

port:80

在此配置中,我们将服务命名为 mysite-nginx-service。我们提供了一个选择器selector:app: mysite-nginx。这是服务选择其路由到的应用程序容器的方式。请记住,我们为容器提供了 app 标签:mysite-nginx 。这就是服务用来查找我们的容器的方式。最后,我们指定服务协议为 TCP,在端口 80 上监听。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/server/linux/2021/0602/8888.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部