根据Termination of Pods,步骤 7 与 3 同时发生。有什么办法可以防止这种情况发生,并且只有在步骤7之后才发生Pod(或宽限期到期)
我需要这个的原因是我的Pod终止例程需要在整个过程中my-service-X.my-namespace.svc.cluster.local解析到\的IP,但是一旦我在/上运行,相应的就会被删除PodEndpointkubectl deletePodDeployment上运行时,相应的IP就会被删除。
注意:如果它有助于澄清这一点,我正在运行一堆集群 VerneMQ (Erlang) 节点,这些节点在终止时将其内容转储到集群 \xe2\x80\x94 上的其他节点,因此需要节点名在整个终止过程中正确解决。只有这样才应该有相应的Endpoint删除相应的 s。
我在我的项目中使用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) 运行几天后,我的 JVM 的 CPU 负载约为 100%,GC 约为 10%(屏幕截图)。
内存消耗接近最大值(约 6 GB)。tomcat 在该状态下非常慢。

打电话的时候
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,所以我在这里问.
在尝试构建彼此依赖的类型时,我碰到了一堵砖墙,这里是代码:
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()引用它时被实例化.如何解决这个问题?
我使用一个简单的输入字段,它应该由@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) 我知道如何从 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) 我想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。
我的问题:
提示:
我想从 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)
但如何对数据进行进一步处理呢?
尝试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) java ×4
graphql ×3
graphql-java ×3
kubernetes ×2
bzip2 ×1
javascript ×1
jvm ×1
maven ×1
mobx ×1
reactjs ×1
spring ×1
spring-boot ×1