升级使用 golang 1.15.0-rc.1 的系统 (kubernetes) 后,我被困在此错误消息上:
"x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0".
Run Code Online (Sandbox Code Playgroud)
我使用通用名称(我知道的)的唯一地方是我为我的服务生成私钥时openssl req -new -key certs/foo-bar.pem -subj "/CN=foobar.mydomain.svc" -out certs/foo-bar.csr -config certs/foo-bar_config.txt。
如何将此命令转换为使用 SAN?
必须有一个简单的方法来做到这一点,但我无法在任何地方找到记录的语法.我有一个带有支柱的React组件,我想在Jest中嘲笑这样:
jest.mock('./common/MultiSelect', 'MultiSelect');
Run Code Online (Sandbox Code Playgroud)
这是有效的,除了我最终得到一个反应警告混乱我的测试结果:
警告:
options标记上的未知道具.从元素中删除此prop.
我正在嘲笑的组件确实有一个选项道具,我真的不关心它是如何渲染的,所以我怎么能以这样的方式嘲笑它不会抛出警告?我尝试在模拟中使用React.createElement,并返回一个带有元素名称和props参数的数组.
我想要模拟的组件使用如下:
<MultiSelect
options={['option 1', 'option 2']}
/>
Run Code Online (Sandbox Code Playgroud) 我有一个 Helm 库图表,可以将其作为依赖项安装,方法是将其包含在同一存储库中并使用文件路径,如下所示:
dependencies:
- name: foo-lib
version: 1.0.0
repository: file://../foo-lib
Run Code Online (Sandbox Code Playgroud)
但是,一旦我将库图表移动到它自己的 git 存储库,我尝试过的每种语法都无法使用helm dependency update. 错误显示“...不是有效的图表存储库或无法访问:将 YAML 转换为 JSON 时出错:yaml:第 121 行:在此上下文中不允许映射值”,但我不认为这是 yaml 转换问题因为我可以使用文件路径引用安装图表。这是完全不可能做到的吗?如果不是,语法是什么?
dependencies:
- name: foo-lib
version: "1.0.0"
repository: "https://github.com/bar/library-charts.git/foo-lib"
Run Code Online (Sandbox Code Playgroud) 我有一个 aws 托管节点组,当我将所需大小和最小大小设置为 0 时,该节点组会出现意外行为。我希望托管节点组不会有任何可启动的节点,但是一旦我尝试使用带有标签的nodeSelector eks.amazonaws.com/nodegroup: my-node-group-name,集群自动缩放器会将托管节点组的所需大小设置为1,并且将启动节点。
但是,集群自动缩放程序日志表明待处理的 pod 不会触发扩展,因为它不可调度:pod didn't trigger scale-up (it wouldn't fit if a new node is added)。然而,当我在托管节点组中手动将所需大小设置为 1 时,pod 已成功调度,因此我知道 nodeSelector 工作正常。
我认为这可能是一个标签问题,如下所述:,但我将托管节点组上的标签设置为可自动发现。
spec:
containers:
- command:
- ./cluster-autoscaler
- --cloud-provider=aws
- --namespace=kube-system
- --node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled,k8s.io/cluster-autoscaler/my-cluster-name
- --balance-similar-node-groups=true
- --expander=least-waste
- --logtostderr=true
- --skip-nodes-with-local-storage=false
- --skip-nodes-with-system-pods=false
- --stderrthreshold=info
- --v=4
Run Code Online (Sandbox Code Playgroud)
我在自动缩放组上设置了相同的标签:
Key Value Tag new instances
eks:cluster-name my-cluster-name Yes
eks:nodegroup-name my-node-group-name Yes
k8s.io/cluster-autoscaler/enabled true Yes
k8s.io/cluster-autoscaler/my-cluster-name owned Yes
kubernetes.io/cluster/my-cluster-name owned Yes …Run Code Online (Sandbox Code Playgroud) 我正在尝试提出指南或性能测试,以帮助我选择将哪些图像内联渲染为 base64 编码字符串,以及哪些图像应该从 CDN 或类似的文件中请求。
在衡量所请求图像的性能时,确定请求时间和延迟渲染相当简单,但我无法通过 Chrome 控制台很好地了解内联图像的渲染时间。显然,内联较小的图像并请求较大的图像作为文件,但是什么是好的截止点呢?
例如,如果图像大小为 2kb,并且将其作为文件请求需要 100 毫秒,那么我如何知道渲染同一图像的内联版本需要多长时间?
我正在尝试在 docker 容器内运行 pycharm 调试器。这在过去对我有用,所以我知道我的配置是正确的,但是在我的一次 docker 容器清除期间,我必须删除了一个容器 pycharm 需要,pycharm_helpers。不幸的是,pycharm 无法恢复和拉取/重建正确的图像本身,而且我无法手动成功拉取图像(是的,我已登录到 docker 注册表)。有什么办法可以重置这个烂摊子,或者拉 pycharm_helpers?我已经尝试过缓存失效/重启
我正在尝试改变准入控制器,我似乎能够创建一个,但不能删除它,这是为什么?
创建 webhook 配置:
apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
name: webhook
webhooks:
- name: webhook.test.com
clientConfig:
service:
name: my-service
namespace: my-role
path: "/foo"
caBundle: "XXX"
rules:
- operations: ["CREATE", "UPDATE"]
apiGroups: ["*"]
apiVersions: ["*"]
resources: ["pods"]
scope: "Namespaced"
failurePolicy: Fail
Run Code Online (Sandbox Code Playgroud)
尝试删除它:kubectl delete MutatingingWebhookConfiguration webhook
响应:error: the server doesn't have a resource type "MutatingingWebhookConfiguration"
我相信错误通常与不同资源的不同版本有关,但我不明白为什么我能够创建但不能删除。
有没有办法使用 helm 逻辑来分析 Kubernetes 版本,即 Capability.KubeVersion,然后从 Kubernetes 版本到值的映射中动态选择一个值,例如
kubernetesVersionCompatibility:
1.15:
insertValue: foo
1.18:
insertValue: bar
Run Code Online (Sandbox Code Playgroud) amazon-eks ×1
autoscaling ×1
base64 ×1
browser ×1
docker ×1
enzyme ×1
html ×1
image ×1
jestjs ×1
kubernetes ×1
openssl ×1
pycharm ×1
python ×1
reactjs ×1
unit-testing ×1