小编Mat*_*s M的帖子

让 Kubernetes 等待 Pod 终止,然后再从服务端点中删除

根据Termination of Pods,步骤 7 与 3 同时发生。有什么办法可以防止这种情况发生,并且只有在步骤7之后才发生Pod(或宽限期到期)

\n

我需要这个的原因是我的Pod终止例程需要在整个过程中my-service-X.my-namespace.svc.cluster.local解析到\的IP,但是一旦我在/上运行,相应的就会被删除PodEndpointkubectl deletePodDeployment上运行时,相应的IP就会被删除。

\n

注意:如果它有助于澄清这一点,我正在运行一堆集群 VerneMQ (Erlang) 节点,这些节点在终止时将其内容转储到集群 \xe2\x80\x94 上的其他节点,因此需要节点名在整个终止过程中正确解决。只有这样才应该有相应的Endpoint删除相应的 s。

\n

kubernetes

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

将bean注入GraphQL的DataFetcher

我在我的项目中使用Spring和graphql-java(graphql-java-annotation).为了检索数据部分,我使用DataFetcher从服务(从数据库)获取数据.

奇怪的是:myService始终为.谁知道原因?

DataFetcher

@Component
public class MyDataFetcher implements DataFetcher {

    // get data from database
    @Autowired
    private MyService myService;

    @Override
    public Object get(DataFetchingEnvironment environment) {
        return myService.getData();
    }
}
Run Code Online (Sandbox Code Playgroud)

架构

@Component
@GraphQLName("Query")
public class MyGraphSchema {

    @GraphQLField
    @GraphQLDataFetcher(MyDataFetcher.class)
    public Data getData() {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

为MyService

@Service
public class MyService {

    @Autowired
    private MyRepository myRepo;

    @Transactional(readOnly = true)
    public Data getData() {
        return myRepo.getData();
    }
}
Run Code Online (Sandbox Code Playgroud)

主要测试

@Bean
public String testGraphql(){ …
Run Code Online (Sandbox Code Playgroud)

java spring graphql graphql-java

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

JVM 大量 GC 消耗 100% CPU

运行几天后,我的 JVM 的 CPU 负载约为 100%,GC 约为 10%(屏幕截图)。

内存消耗接近最大值(约 6 GB)。tomcat 在该状态下非常慢。

JVM CPU 使用率

java garbage-collection jvm

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

bzip2:输入文件file.txt有另外一个链接

打电话的时候

bzip2 file.txt
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息

bzip2: Input file file.txt has 1 other link
Run Code Online (Sandbox Code Playgroud)

我正在使用OSX,但我认为这个问题不是特定于OSX,所以我在这里问.

bzip2

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

graphql-java循环类型依赖项

在尝试构建彼此依赖的类型时,我碰到了一堵砖墙,这里是代码:

import graphql.schema.GraphQLObjectType;
import static graphql.schema.GraphQLObjectType.newObject;

import static graphql.Scalars.*;
import graphql.schema.GraphQLFieldDefinition;
import graphql.schema.GraphQLList;

import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;

public class GraphQLTypes {

    private GraphQLObjectType studentType;
    private GraphQLObjectType classType;

    public GraphQLTypes() {

       createStudentType();
        createClassType();
    }

    void createStudentType() {
        studentType = newObject().name("Student")
                .field(newFieldDefinition().name("name").type(GraphQLString).build())
            .field(newFieldDefinition().name("currentClass").type(classType).build())
            .build();
    }

    void createClassType() {
        classType = newObject().name("Class")
            .field(newFieldDefinition().name("name").type(GraphQLString).build())
            .field(newFieldDefinition().name("students").type(new GraphQLList(studentType)).build())
            .build();
    }

}
Run Code Online (Sandbox Code Playgroud)

它不可能实例化这个类,因为我得到了这个例外

Caused by: graphql.AssertException: type can't be null
at graphql.Assert.assertNotNull(Assert.java:10)
at graphql.schema.GraphQLFieldDefinition.<init>(GraphQLFieldDefinition.java:23)
at graphql.schema.GraphQLFieldDefinition$Builder.build(GraphQLFieldDefinition.java:152)
at graphql_types.GraphQLTypes.createStudentType(GraphQLTypes.java:26)
at graphql_types.GraphQLTypes.<init>(GraphQLTypes.java:19)
Run Code Online (Sandbox Code Playgroud)

很明显,classType尚未在createStudentType()引用它时被实例化.如何解决这个问题?

java graphql graphql-java

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

MobX:更新输入字段中的值

我使用一个简单的输入字段,它应该由@observable 值控制:

<div>
    <input value={this.props.appState.myValue} onChange={this.handleChange}/>
    value: {this.props.appState.myValue}
</div>
Run Code Online (Sandbox Code Playgroud)

将 myValue 更新为 undefined 后,显示值发生变化,但输入字段中的值保持不变。

初始状态:

[initial]
value: initial
Run Code Online (Sandbox Code Playgroud)

更新后:

[initial]
value:
Run Code Online (Sandbox Code Playgroud)

javascript reactjs mobx

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

GraphQL Java:使用@Batched DataFetcher

我知道如何从 datafetcher 中的服务中检索 bean

public class MyDataFetcher implements DataFetcher {
  ...

  @Override
  public Object get(DataFetchingEnvironment environment) {
    return myService.getData();
  }
}
Run Code Online (Sandbox Code Playgroud)

但是具有嵌套列表的模式应该使用 BatchedExecutionStrategy 并使用 @Batched 注释的 get() 方法创建批处理 DataFetcher(请参阅 graphql-java 文档)。

但是我把我的 getData() 调用放在哪里呢?

///// Where to put this code?
List list = myService.getData();
/////

public class MyDataFetcher implements DataFetcher {

  @Batched
  public Object get(DataFetchingEnvironment environment) {
    return list.get(environment.getIndex()); // where to get the index?
  }
}
Run Code Online (Sandbox Code Playgroud)

graphql graphql-java

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

忽略 Spring Boot 管理应用程序的 yaml 配置中指定的斜杠字符

我想app.kubernetes.io/part-of: myapp在我的 Spring Boot 管理应用程序中配置 kubernetes 发现的服务标签。

app.kubernetes.io/part-of是一个推荐的标签,所以我认为应该有一种方法来配置它以进行服务发现。

spring:
    cloud:
        kubernetes:
            discovery:
                namespace: myspace
                all-namespaces: true
                service-labels:
                    'app.kubernetes.io/part-of': myapp
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在执行器中注意到,yaml 键中的所有特殊字符都被删除了configprops

我的问题:

  • 如何在 Spring Boot 的 yaml 键中指定斜杠?
  • 是否有替代解决方案来指定我的服务标签?

提示:

  • 其他一般 yaml 问题(建议转义或引用字符)在这里没有帮助。或者我错过了什么。

java spring-boot spring-boot-admin

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

如何从 Kubernetes Helm 函数返回复杂(dict)值?

我想从 Helm 函数返回一个复数 (dict),以便我可以在模板或其他函数中进行进一步处理。

我定义了这个函数:

{{- define "return-dict-function" -}}
key1: value1
key2: value2
{{- end -}}
Run Code Online (Sandbox Code Playgroud)

我可以在模板中输出函数值:

{{ include "return-dict-function" . | nindent 2 }}
Run Code Online (Sandbox Code Playgroud)

但如何对数据进行进一步处理呢?

kubernetes kubernetes-helm

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

使用 frontend-maven-plugin 在 mac M1 上构建失败:无法下载 Node.js

尝试frontend-maven-plugin下载不存在的节点文件。

当我查看https://nodejs.org/dist/v10.15.3时,我只能看到一个名为node-v10.15.3-darwin-x64.tar.gz

[INFO] --- frontend-maven-plugin:1.7.5:install-node-and-npm (install node and npm) @ oauth-ui-authorization-code-angular-zuul ---
[INFO] Installing node version v10.15.3
[INFO] Downloading https://nodejs.org/dist/v10.15.3/node-v10.15.3-darwin-arm64.tar.gz to /Users/me/.m2/repository/com/github/eirslett/node/10.15.3/node-10.15.3-darwin-arm64.tar.gz
[INFO] No proxies configured
[INFO] No proxy was configured, downloading directly
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] mymodule 2.2.6.RELEASE FAILURE [  4.536 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  36.930 s
[INFO] Finished at: 2022-09-28T14:28:09+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.7.5:install-node-and-npm (install node and npm) on …
Run Code Online (Sandbox Code Playgroud)

maven frontend-maven-plugin

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