标签: kubernetes-ingress

如何在 Azure AKS 上的一个入口控制器上创建多个负载均衡器 IP 地址

我正在尝试在一个 k8s 集群上设置多个服务,并在前面使用一个 Ingress 控制器对所有服务进行 tls 终止。这是一个很好的例子:https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/examples/multi-tls/multi-tls.yaml

我最初遵循这个示例: https: //github.com/brunoterkaly/ingress,然后将其扩展为具有多个 tls 服务。

通过在 Azure 上公开我的 nginx 复制控制器 AKS,会自动创建一个负载均衡器和一个公共 IP 地址,我可以向其应用 A 记录: kubectl expose rc nginx-ingress-rc --port="80,443" --type="LoadBalancer"

但是,我还想要第二个 A 记录,它指向相同的 IP 地址(我猜?),以便我可以从不同的域访问我的入口控制器。我不知道如何让 AKS 为此目的创建第二个?

nginx azure kubernetes-ingress azure-aks

0
推荐指数
1
解决办法
8132
查看次数

如何从 kubernetes 服务(EKS)中的 HTTP 请求获取客户端 IP

我们将 ms 作为 ALB 入口(ALB 负载均衡器)后面的 pod 运行。我的问题是所有 HTTP 请求日志都显示集群 IP 地址而不是 HTTP 客户端的 IP。有没有其他方法可以让 kubernetes 服务将此信息传递给我的应用服务器以显示客户端 IP 地址?即使尝试使用 java 代码 usig get.remote.address 函数,结果仍然相同。我知道有一种方法“service.spec.externalTrafficPolicy”,但这仅适用于 GCE 广告,不适用于 AWS。任何帮助!!!!!!

clientip kubernetes kubernetes-ingress amazon-eks

0
推荐指数
1
解决办法
410
查看次数

Azure Kubernetes LB 注释

服务对象的 kubernetes 官方文档有一些关于连接耗尽、超时、附加标签等的注释,但这些仅限于 AWS。

我希望在 Azure 云上的 K8S 部署中找到同样的结果。

例如,

 annotations:
    service.beta.kubernetes.io/aws-load-balancer-connection-draining-enabled: "true"
    service.beta.kubernetes.io/aws-load-balancer-connection-draining-timeout: "60"
    service.beta.kubernetes.io/aws-load-balancer-connection-draining-timeout: "300"
    service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "600"
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-healthy-threshold: "2"
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-interval: "6"
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-timeout: "5"
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-unhealthy-threshold: "3"
    service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
Run Code Online (Sandbox Code Playgroud)

这里列出的官方文档

如果不存在这样的注释,有人可以帮助我在 Azure 云上实现相同的目的。提前致谢!

azure kubernetes istio kubernetes-ingress azure-aks

0
推荐指数
1
解决办法
8630
查看次数

入口无地址

我的机器里有一些 k8s 集群,我尝试做一些学习的东西,但我现在就堆叠起来。

我有 2 个应用程序,一个是 mysql,另一个是 wordpress,它们运行良好。当我为 WordPress 提供 LoadBalancer 类型时,它会获取一个 IP,我可以在浏览器中看到。

所以我想创建一个 Ingress 并按主机名调用,但 Ingress 不采用负载均衡器 IP。我做错了什么吗?

这是我的 Ingress 配置

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: wp-ingress
  kubernetes.io/ingress.class: nginx
  labels:
    name: wp-ingress
spec:
  rules:
  - host: wordpress.pandora.local
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: wp-svc
            port: 
              number: 80
  - host: phpmyadmin.pandora.local
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: phpmyadmin-svc
            port: 
              number: 80
Run Code Online (Sandbox Code Playgroud)

和问题

# kg ingress
NAME         CLASS    HOSTS                                              ADDRESS   PORTS   AGE …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-ingress

0
推荐指数
1
解决办法
5082
查看次数

如何使用 GKE Kubernetes 的 Google 托管证书

我正在为 Flytime.io 的前端 https 生成 https(云运行) 在此输入图像描述

现在我想将其用于后端的 https 支持(多入口 gke 自动驾驶仪),来自以下手册,旨在使用 api.flytime.io 域:https: //cloud.google.com/kubernetes-engine/docs /how-to/multi-cluster-ingress#https_support

在此输入图像描述

但是我应该如何使用手册配置 PATH_TO_KEYFILE 和 PATH_TO_CERTFILE (或者还有其他方法可以做到这一点)?如果无法使用 Google 托管认证(为什么?),如何为 api.flytime.io 主机名生成证书并获取 PATH_TO_KEYFILE 和 PATH_TO_CERTFILE?

google-cloud-platform kubernetes google-kubernetes-engine kubernetes-ingress gke-networking

0
推荐指数
1
解决办法
4582
查看次数

为什么我无法使用 Kubernetes、minikube 从浏览器访问应用程序?

我正在尝试使用 Kubernetes 和 minikube 部署应用程序。但我有一个奇怪的问题:我可以在终端中使用curl 访问我的应用程序,但不能从浏览器访问我的应用程序。我正在使用“minikubetunnel”命令作为外部IP。

在此输入图像描述

在此输入图像描述

这是我的部署和服务文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nodeapp-deployment
  labels:
    app: nodeapp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nodeapp
  template:
    metadata:
      labels:
        app: nodeapp
    spec:
      containers:
      - name: nodeserver
        image:  tanyadovzhenko/chi-questionnaire-back
        env:
          - name: PORT
            value: "4000"
          - name: JWT_ACCESS_KEY
            value: "111"
          - name: JWT_REFRESH_KEY
            value: "111"
          - name: HASH_PASSWORD_ALGORITM
            value: "sha256"
        ports:
        - containerPort: 4000
Run Code Online (Sandbox Code Playgroud)

apiVersion: v1
kind: Service
metadata:
  name: nodeapp-service
spec:
  selector:
    app: nodeapp
  type: LoadBalancer
  ports:
  - protocol: TCP
    port: 4000 …
Run Code Online (Sandbox Code Playgroud)

deployment kubernetes kubectl minikube kubernetes-ingress

0
推荐指数
1
解决办法
826
查看次数

Azure Devops 错误:io.k8s.api.core.v1.PodSpec 中的“未知字段”imagePullPolicy”

我正在使用Azure Devops,并imagePullPolicy"io.k8s.api.core.v1.PodSpec执行helm install以下操作时获取未知字段:

2019-07-05T10:49:11.0064690Z ##[警告]找不到 ##vso[telemetry.command] 的命令扩展。请参考文档 ( http://go.microsoft.com/fwlink/?LinkId=817296 )

2019-07-05T09:56:41.1837910Z 错误:验证失败:错误验证“”:错误验证数据:ValidationError(Deployment.spec.template.spec):io.k8s.api.core.v1 中的未知字段“imagePullPolicy” .PodSpec

2019-07-05T09:56:41.1980030Z ##[错误]错误:验证失败:错误验证“”:错误验证数据:ValidationError(Deployment.spec.template.spec):io.k8s中的未知字段“imagePullPolicy”。 api.core.v1.PodSpec

部署.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "clusterfitusecaseapihelm.fullname" . }}
labels:
{{ include "clusterfitusecaseapihelm.labels" . | indent 4 }}
spec:
strategy:
    rollingUpdate:
    maxSurge: 1
    maxUnavailable: 0
    type: RollingUpdate
selector:
    matchLabels:
    app.kubernetes.io/name: {{ include "clusterfitusecaseapihelm.name" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
template:
    metadata:
    labels:
        app.kubernetes.io/name: {{ include "clusterfitusecaseapihelm.name" . }}
        app.kubernetes.io/instance: {{ .Release.Name }} …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-helm kubernetes-ingress azure-aks

-1
推荐指数
1
解决办法
2671
查看次数