我正在使用AWS'EKS,这是Kubernetes v1.10,我正在使用client-go v7.0.0.
我要做的是解析文件中包含多个Kubernetes资源定义的.yml文件,并将这些资源提交给Kubernetes API.我可以使用此代码成功解析文件scheme.Codecs.UniversalDeserializer().Decode
,然后返回一个数组runtime.Object
.
我知道所有Kubernetes资源都符合runtime.Object
接口,但我找不到将通用接口提交给API的方法.我见过的大多数方法都使用了Deployment,Pod等具体类型的方法.
我已经看到了像这样的通用RESTClient的一些代码clientset.RESTClient().Put().Body(obj).Do()
,但这不起作用,我无法弄明白.
我知道我的客户端配置正确,因为我可以成功列出所有Pod.
我在创建 JSON 对象时遇到了一些问题,其中对象的键是我在 Postgres 中聚合行的值。
这是我正在使用的表格:
create table if not exists safety_training_options (
id serial primary key,
option_type text not null,
name text not null
)
Run Code Online (Sandbox Code Playgroud)
以及一些示例数据:
insert into safety_training_options (option_type, name)
values ('category', 'General Industry'),
('category', 'Maritime'),
('category', 'Construction'),
('frequency', 'Daily'),
('frequency', 'Weekly'),
('frequency', 'Bi-weekly'),
('method', 'Online'),
('method', 'Classroom');
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我的查询,它将为我提供聚合行:
select
option_type as type,
json_agg(sto.name) as options
from safety_training_options as sto
group by sto.option_type;
Run Code Online (Sandbox Code Playgroud)
结果集:
????????????????????????????????????????
? type ? options ?
????????????????????????????????????????
? method ? ["Online", "Classroom"] ?
? …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个 Jenkins 主/从集群,但我无法找到让新从服务器自动向主服务器注册的方法。
我目前的设置是运行一些 Terraform 脚本来创建主站和 5 个从站。然后我必须登录到主节点并管理 Jenkins -> 管理节点 -> 新节点并手动创建我想要的节点数。
然后我 RDP 进入我的奴隶并运行命令java -jar agent.jar -jnlpUrl http://yourserver:port/computer/agent-name/slave-agent.jnlp
。这工作得很好,但我想要一种方法来自动增加/减少代理的数量,而不必每次创建一个新的时都手动登录到从属。
是否有关于如何动态自注册节点的插件或一些我遗漏的文档?
注意:这仅适用于 Windows 节点。我正在使用 Kubernetes 插件来自动扩展/缩小 linux 节点,但是 Kubernetes 没有稳定的 Windows 节点支持,所以我不能使用它。我必须支持经典的 .NET 应用程序(不是 .NET Core),所以我必须在 Windows 节点上构建。
我正在编写一个有多个用户的应用程序,用户可以在应用程序内上传报告。
目前,我有一个“报告”表,其中包含所有已提交的报告,该表具有一个“ id”字段,该字段是表上的串行主键。
我指定的要求是,用户需要能够指定前缀和数字,以便他们的报告从此开始计数。例如,用户应该可以说他们的报告始于ABC-100,然后下一个报告是ABC-101,ABC-102,依此类推。
我想实现此目的的方式是,当用户创建一个帐户时,他可以指定前缀和起始编号,然后我将创建一个postgres序列,其中包含指定的前缀名称和minValue用户希望报告从此开始。
然后,当用户提交新报告时,我可以将report_number标记为nextval(prefix_sequence)。从理论上讲,这是可行的,但是我对postgres来说还很陌生,我想就这是对序列的良好使用还是更好的方法提供一些建议和反馈。
我的理解是LuaJIT使用Lua 5.1语法。在 Lua 5.1 中,“arg”功能已从语言中删除。
但是,以下代码可以工作。
// test.lua
local function foo()
for k,v in pairs(arg) do
print(k .. " " .. v)
end
end
foo()
Run Code Online (Sandbox Code Playgroud)
我预计arg
为零,但它存在并且正在执行 Lua 5.0 功能。
运行resty test.lua hello world
结果为:
0 test.lua
1 hello
2 world
-1 /usr/local/bin/resty
Run Code Online (Sandbox Code Playgroud)
为什么这有效?Openresty 和 LuaJIT 可以使用的 5.1 语法是否有例外?
postgresql ×2
client-go ×1
database ×1
jenkins ×1
jenkins-cli ×1
kubernetes ×1
lua ×1
luajit ×1
openresty ×1
sql ×1