小编nbr*_*ink的帖子

启用网络策略后 Kubernetes 运行状况检查失败

仅启用出口网络策略时,Pod 重新启动后所有就绪性和活动性检查都会失败。

这是我在描述 pod 时看到的:

警告不健康 115s (x7 超过 2m55s) kubelet,就绪探测失败:获取http://10.202.158.105:80/health/ready : dial tcp 10.202.158.105:80: connect: 连接被拒绝 警告不健康 115s (x7 超过 2m55s) kubelet ,活性探测失败:获取http://10.202.158.105:80/health/live:拨打tcp 10.202.158.105:80:连接:连接被拒绝

如果我禁用这些策略,运行状况检查将立即恢复运行。如果 Pod 在应用网络策略之前已经正常运行,它将继续工作。

我还尝试使用此策略将每个名称空间列入白名单:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-ingress-all
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  ingress:
  - from:
    - namespaceSelector: {}
    ports:
    - protocol: TCP
      port: 80
    - protocol: TCP
      port: 8080
Run Code Online (Sandbox Code Playgroud)

我很难找到有关如何解决此问题的任何指导。是否需要启用出口策略才能允许 kubelet 监控 Pod 运行状况检查?

该 Pod 在 Azure Kubernetes 服务内部运行并使用 Calico 网络。

firewall calico kubernetes kubelet kubernetes-networkpolicy

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

带有请求的Docker Elasticsearch插件

我们正在尝试在Docker容器中运行Elasticsearch节点.我们使用Search Guard插件来确保安全性.但是,在安装过程中,插件要求我们运行脚本.此脚本要求ElasticSearch在运行时可在端口9300上访问.延迟脚本是否有最佳实践?我们在执行之前尝试过睡眠以及RUN和CMD Dockerfile命令.

这是输出:

elasticsearch    | Search Guard Admin v5
elasticsearch    | Will connect to localhost:9300
elasticsearch    | ERR: Seems there is no elasticsearch running on 
localhost:9300 - Will exit
Run Code Online (Sandbox Code Playgroud)

Dockerfile:

FROM docker.elastic.co/elasticsearch/elasticsearch:5.3.0

USER root

RUN apk update \
    && apk upgrade \
    && apk add nano

USER root

# Add the ElasticSeach config
ADD elasticsearch.yml /usr/share/elasticsearch/config/
RUN chown elasticsearch:elasticsearch /usr/share/elasticsearch/config/elasticsearch.yml

# Add the truststore
ADD keys/truststore.jks /usr/share/elasticsearch/config/
RUN chown elasticsearch:elasticsearch /usr/share/elasticsearch/config/truststore.jks

# Create the node certs
ADD gen-cert/ /usr/share/elasticsearch/gen-cert/ …
Run Code Online (Sandbox Code Playgroud)

elasticsearch docker dockerfile

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

PrimeNG树表为空

为了在Angular 4.1项目中使用PrimeNG,我遇到了一些问题。

这是我正在关注的文档:https : //www.primefaces.org/primeng/#/treetable

我正在测试TreeTable功能,但是UI中的输出为空。它显示没有内容的单元格,并且具有class =“ undefined”。

空表

app.component.html:

<p-treeTable *ngIf="treeNode" [value]="treeNode">
  <p-column field="id" header="ID"></p-column>
  <p-column field="label" header="Label"></p-column>
</p-treeTable>
Run Code Online (Sandbox Code Playgroud)

app.module.ts:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HttpModule } from '@angular/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

import { TreeTableModule, SharedModule } from 'primeng/primeng';

import { AppComponent } from './app.component';
import { CustomerTypeService } from '../app-configure/service/app.customer.type.service';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    CommonModule,
    BrowserModule,
    HttpModule, …
Run Code Online (Sandbox Code Playgroud)

primeng angular primeng-treetable

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

从 FilterControllerEvent 监听器重定向到另一个 Symfony 路由

我正在尝试设置一个 kernal.controller 监听器,以便在函数返回 true 时重定向到另一个路由。我有可用的路线,但无法使用该路线设置控制器$event->setController()

我收到以下错误:

FilterControllerEvent.php 第 59 行中的 FatalThrowableError:类型错误:传递给 Symfony\Component\HttpKernel\Event\FilterControllerEvent::setController() 的参数 1 必须可调用,给出字符串

有人对我如何完成这个有建议吗?

class BlockListener
{
    public function onKernelController(FilterControllerEvent $event)
    {
        $block = $this->blockService->checkForBlock($user->getId());

        if ($block instanceof Block) {
            // $block-getRoute() is a standard Symfony route string. It doesn't work!
            $event->setController($block->getRoute());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

php redirect listener symfony

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