小编Ken*_*soi的帖子

Traefik 仪表板:Ingress 和 IngressRoute,它们可以共存吗?

最近我正在将一个项目转移到 Kubernetes 并使用 Traefik 作为入口控制器。对于 Traefik,我使用了 Traefik Ku​​bernetes Ingress 提供程序进行路由。当我尝试添加 Traefik 仪表板时,我发现它似乎只能使用 IngressRoute 添加(即使用 Kubernetes CRD 作为提供程序)。

我有几个问题:

  • 是否可以使用 Traefik Ku​​bernetes Ingress provider 来显示仪表板?
  • 我可以同时使用 kubernetesingress 和 kubernetescrd 作为提供者吗?Ingress 和 IngressRoute 可以共存吗?

kubernetes traefik kubernetes-ingress traefik-ingress

6
推荐指数
1
解决办法
3285
查看次数

Grafana - 是否可以在基于 Loki 的仪表板查询中使用变量?

我正在 Grafana 上开发基于 Loki 的仪表板。我有一个用于在 Loki 跟踪日志中搜索文本的面板,当前查询如下:

{job="abc-service"}
|~ "searchTrace"
|json
|line_format "{if .trace_message}} Message: \t{{.trace_message}} {{end}}"
Run Code Online (Sandbox Code Playgroud)

其中searchTrace是“文本框”类型的变量,供用户输入搜索文本。

我想包含另一个变量skipTestLog来跳过某些测试 cron 任务创建的日志。skipTestLog是两个选项的自定义变量:Yes,No.

假设测试 cron 任务创建的日志包含解析器后面CronTest字段中的文本,是否有任何方法可以根据所选的值将其过滤掉?trace_messagejsonskipTestLog

grafana grafana-variable grafana-loki logql

6
推荐指数
1
解决办法
6157
查看次数

Minikube:有什么方法可以让 driver=none 使用 ingress

我在带有“driver=none”选项的笔记本电脑上使用 Minikube。当我尝试启用 ingress 时,出现以下错误:

$ minikube addons enable ingress

?  Exiting due to MK_USAGE: Due to networking limitations of driver none, ingress addon is not supported. Try using a different driver.
Run Code Online (Sandbox Code Playgroud)

经过一番谷歌搜索,我发现 Ingress 插件停止使用从 Minikube v1.12.x 开始的“无”VM 驱动程序,我使用的是 v1.13.1。(请参考:https : //github.com/kubernetes/minikube/issues/9322

我想知道是否还有其他方法可以使用“driver=none”选项在 Minikube 上安装“原生”入口?

kubernetes minikube kubernetes-ingress

5
推荐指数
1
解决办法
1732
查看次数

Kubernetes:如何在 configMap 中设置布尔类型变量

我想在 configMap(或秘密)中设置一个布尔变量:

apiVersion: v1
kind: ConfigMap
metadata:
  name: env-config
  namespace: mlo-stage
data:
  webpack_dev_server: false
Run Code Online (Sandbox Code Playgroud)

但是当我应用它时,我收到以下错误:

The request is invalid: patch: Invalid value: "map[data:map[webpack_dev_server:false] metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{ blah blah blah}]]]": unrecognized type: string
Run Code Online (Sandbox Code Playgroud)

我试图将值更改为 Off/No/False,但都存在同样的问题。

好像data map中key的值只能是字符串,我试过把值改成“false”,yaml文件没问题,但是后来变量变成了字符串而不是boolean。

如果我想传递一个布尔值作为值应该怎么做?

kubernetes kubernetes-deployment kubernetes-secrets configmap

4
推荐指数
1
解决办法
4710
查看次数

Traefik (v2.2) Ingress on Kubernetes:HTTP 和 HTTPS 不能共存

我在 Kubernetes 上使用 Traefik (v2.2),使用通配符域证书进行 HTTPS 访问。

以下是我的 Traefik 部署和 Ingress 配置:

kind: Deployment
apiVersion: apps/v1
metadata:
  namespace: ingress-traefik
  name: traefik
  labels:
    app: traefik

spec:
  replicas: 1
  selector:
    matchLabels:
      app: traefik
  template:
    metadata:
      labels:
        app: traefik
    spec:
      serviceAccountName: traefik-ingress-controller
      containers:
        - name: traefik
          image: traefik:v2.2
          ports:
            - name: web
              containerPort: 80
            - name: websecure
              containerPort: 443
            - name: admin
              containerPort: 8080
          args:
            - --providers.kubernetesingress
            - --entrypoints.web.Address=:80
            - --entrypoints.websecure.Address=:443
            - --ping.entryPoint=web

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-ingress
  annotations:
    kubernetes.io/ingress.class: …
Run Code Online (Sandbox Code Playgroud)

http-status-code-404 kubernetes traefik kubernetes-ingress traefik-ingress

4
推荐指数
1
解决办法
2591
查看次数

Kubernetes docker 容器中的前端 Vue.js 应用程序无法连接到后端

我构建了一个前端 Vue.js 应用程序,在 kubernetes 环境下的 docker 容器上运行。后端也在同一个 kubernetes 集群中(我在该项目中使用 Minikube)。net::ERR_NAME_NOT_RESOLVED运行时连接后端容器时 出错:在此输入图像描述

在容器内部,使用curl连接到后端没有问题:

$ kubectl exec -it deployment/hpl-browser-deployment -- sh
/ # curl http://hpl-manager-service:2354
{
  "message": "Manager status", 
  "state": "IDLE"
}
Run Code Online (Sandbox Code Playgroud)

我用于axiosapi 服务:

import axios from 'axios';

export default class APIService {
  API_URL = '';

  constructor(apiAddress) {
    this.API_URL = apiAddress;
  }

  async get() {
    console.log('ApiService: get()');
    try {
      const response = await axios.get(this.API_URL);
      console.log(`ApiService: get result: ${response.data}`);
      return response.data;
    } catch (error) {
      console.error(error);
      return error;
    } …
Run Code Online (Sandbox Code Playgroud)

docker vue.js kubernetes axios

3
推荐指数
1
解决办法
1638
查看次数

Kubernetes:Traefik(v2.2)仪表板返回“404页面未找到”

在 Kubernetes 环境中启动 Traefik 仪表板时遇到问题,以下是我的 traefik 部署设置:

kind: Deployment
apiVersion: apps/v1
metadata:
  namespace: ingress-traefik
  name: traefik
  labels:
    app: traefik

spec:
  replicas: 1
  selector:
    matchLabels:
      app: traefik
  template:
    metadata:
      labels:
        app: traefik
    spec:
      serviceAccountName: traefik-ingress-controller
      containers:
        - name: traefik
          image: traefik:v2.2
          ports:
            - name: web
              containerPort: 80
            - name: websecure
              containerPort: 443
            - name: admin
              containerPort: 8080
          args:
            - --api
            - --api.dashboard=true
            - --providers.kubernetesingress
            - --providers.kubernetescrd
            - --entrypoints.web.Address=:80
            - --entrypoints.websecure.Address=:443
            - --ping.entryPoint=web
            - --log.level=debug
Run Code Online (Sandbox Code Playgroud)

和仪表板 ingressRoute 设置:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute …
Run Code Online (Sandbox Code Playgroud)

kubernetes traefik traefik-ingress

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