仅启用出口网络策略时,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 网络。
我们正在尝试在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) 为了在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) 我正在尝试设置一个 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)