有没有办法在 Kubernetes 中以声明方式设置每个卷的权限/所有权?
用例:
sudo我们知道我们可以使用fsGroup,但这是一个 pod 级别的声明。所以即使我们在第一个容器中选择 fsGroup 等于用户,那么我们也会在另一个容器中遇到权限问题。(参考:Kubernetes:如何设置 VolumeMount 用户组和文件权限)
我正在将一些签名从 迁移f(long dur, TimeUnit timeUnit)到f(Duration duration),并希望用后者来实现前者。
在 Java 8 上,我找不到任何 API 可以轻松地将long+转换TU为 a Duration,我唯一的想法就是做一些丑陋的事情,例如:
static Duration convert(long dur, TimeUnit timeUnit) {
switch (timeUnit) {
case DAYS:
return Duration.ofDays(dur);
case HOURS:
/* alternative, but (again) I don't have an easy conversion from TimeUnit -> ChronoUnit */
return Duration.of(dur, ChronoUnit.HOURS);
case ..... /* and so on */
}
}
Run Code Online (Sandbox Code Playgroud)
或者我错过了一些API?
是否可以同时按名称空间和 pod的标签进行过滤?
文档中的示例位于https://kubernetes.io/docs/user-guide/networkpolicies/#the-networkpolicy-resource
- from:
- namespaceSelector:
matchLabels:
project: myproject
- podSelector:
matchLabels:
role: frontend
Run Code Online (Sandbox Code Playgroud)
表示允许与role=frontend 或来自的广告连播进行通讯namespace myproject。
有什么办法可以将“或”更改为“与”?
以下片段开始抛出ConcurrentModificationException我的应用程序(在迭代器中):
final Map<?, ?> systemProperties = System.getProperties()
final Map<String, String> properties = (Map<String, String>) systemProperties
for (final Entry<String, String> entry : properties.entrySet()) { // exception here
System.out.println(entry)
}
Run Code Online (Sandbox Code Playgroud)
我正在运行一个多线程应用程序,不幸的是我无权访问正在修改系统属性的代码(它甚至可能是第三方库)。