小编Pro*_*OXO的帖子

localtime vs localtime_s和适当的输入参数

time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
Run Code Online (Sandbox Code Playgroud)

返回:警告C4996:'localtime':此函数或变量可能不安全.请考虑使用localtime_s.

time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime_s ( &rawtime );
Run Code Online (Sandbox Code Playgroud)

当我将localtime更改为localtime_s时,我得到:错误C2660:'localtime_s':函数不带1个参数

以下是我认为在第一个代码块中正在进行的操作:

  • 创建一个空的time_t变量.
  • 创建一个指向在ctime中定义的timeinfo的指针
  • 将rawtime写入rawtime引用
  • 将原始时间转换为对行人有意义的事物

    1. 我对吗?
    2. localtime_s需要什么第二个输入参数?
    3. 如果我忽略整个当地时间的安全问题,可能会发生什么最糟糕的事情.

c++ localtime

50
推荐指数
3
解决办法
6万
查看次数

Pods卡在ContainerCreating中,“无法为容器分配IP地址”

问题

ContainerCreating滚动更新消息后,600个pod部署中的多个pod卡在其中:

Failed create pod sandbox: rpc error: code = Unknown desc = NetworkPlugin cni failed to set up pod <pod name> network: add cmd: failed to assign an IP address to container

我尝试过的

maxIPAddresses, value: 759.000000
ipamdActionInProgress, value: 1.000000
addReqCount, value: 16093.000000
awsAPILatency, value: 564.000000
delReqCount, value: 32337.000000
eniMaxAvailable, value: 69.000000
assignIPAddresses, value: 558.000000
totalIPAddresses, value: 682.000000
eniAllocated, value: 69.000000
Run Code Online (Sandbox Code Playgroud)

问题

CNI指标输出是否表明存在问题?好像有足够的IP。

我还能尝试调试什么?

kubernetes aws-eks

8
推荐指数
1
解决办法
1319
查看次数

Kubernetes Cronjob只跑了一半时间

我希望每15分钟触发一次工作,但每30分钟就会触发一次.

更新:

我通过运行简化了问题:

kubectl run hello --schedule="*/1 * * * *" --restart=OnFailure --image=busybox -- /bin/sh -c "date; echo Hello from the Kubernetes cluster"
Run Code Online (Sandbox Code Playgroud)

正如文档中所述:https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/

然而这项工作仍然拒绝按时运作.

$ kubectl get cronjobs
NAME               SCHEDULE      SUSPEND   ACTIVE    LAST SCHEDULE   AGE
hello              */1 * * * *   False     1         5m              30m
hello2             */1 * * * *   False     1         5m              12m
Run Code Online (Sandbox Code Playgroud)

命令行创建cronjob需要25分钟才能运行,而从yaml创建的cronjob需要7分钟.他们最终都安排在同一时间所以它几乎就像是etcd终于醒来并做了些什么?

原始问题:

当我钻到活动作业我看Status: Terminated: Completed,但 Age: 25 minutes什么大于15.

在日志中,我看到运行的python脚本已经完成了它的最终打印语句.根据s3中的输出文件,脚本需要大约2分钟才能完成.然后没有新工作安排28分钟.

我试过不同的配置:

Schedule: */15 * * * *Schedule: …

kubernetes

7
推荐指数
1
解决办法
1573
查看次数

如何在不终止部署的情况下刷新 Worker Secret?

我想学习如何在不终止和重新创建部署的情况下更新工作 Pod 中的机密。

目前 pod 将秘密作为 env vars 提取:

        env:
        - name: SECRET_ACCESS_KEY
          valueFrom:
            secretKeyRef:
              key: secret_access_key
              name: secrets
Run Code Online (Sandbox Code Playgroud)

但这只发生在他们启动时。

因此,如果需要更改秘密,我必须:

  1. 改变秘密 secrets.yaml
  2. kubectl apply -f secrets.yaml
  3. kubectl delete -f worker-deployment.yaml
  4. kubectl apply -f worker-deployment.yaml

我真的不喜欢第 3 步和第 4 步,因为它们会终止正在进行的工作。

更新 env var 机密的更好的工作流程是什么?

kubernetes kubectl kubernetes-secrets amazon-eks

6
推荐指数
2
解决办法
3683
查看次数

将 CreateDirectory 的“const char*”转换为“LPCTSTR”

#include "stdafx.h"
#include <string>
#include <windows.h>
using namespace std;

int main()
{
    string FilePath = "C:\\Documents and Settings\\whatever";
    CreateDirectory(FilePath, NULL);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误:错误 C2664:“CreateDirectory”:无法将参数 1 从“const char *”转换为“LPCTSTR”

  1. 我如何进行这种转换?
  2. 下一步是将今天的日期设置为字符串或字符并将其与文件路径连接起来。这会改变我执行第 1 步的方式吗?
  3. 我对数据类型和转换很糟糕,对于 5 岁的孩子有好的解释吗?

c++ c2664

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

通过代理语法卷曲

我不明白如何阅读这种通用语法.我想通过我们的代理请求一个URL,它需要一个特定的主机,端口,用户名和密码.我不知道如何弄清楚协议是什么.我想通过代理进行卷曲.根据下面的帮助文件,我猜这行应该是:

curl -x [whatever-my-protocol-is://] my-host-which-know-know [:my-port-which-i-know] -U my-username-which-know-know [:my -pass-which-know-know] http://www.google.com

这是正确的吗?我如何找出协议?

男人的相关信息:

-x, --proxy [PROTOCOL://]HOST[:PORT] Use proxy on given port
     --proxy-anyauth Pick "any" proxy authentication method (H)
     --proxy-basic   Use Basic authentication on the proxy (H)
     --proxy-digest  Use Digest authentication on the proxy (H)
     --proxy-negotiate Use Negotiate authentication on the proxy (H)
     --proxy-ntlm    Use NTLM authentication on the proxy (H)
 -U, --proxy-user USER[:PASSWORD]  Proxy user and password
     --proxy1.0 HOST[:PORT]  Use HTTP/1.0 proxy on given port
Run Code Online (Sandbox Code Playgroud)

求助:在阅读一般语法时忽略"[".此外,Windows喜欢双引号和单引号.所以命令是:curl -x my-host-which-i-know:my-port-which-i-know -U my-username-which-know-know:my-pass-which-i-know …

proxy curl

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

为什么 Stackdriver 日志中会间歇性地出现空行?

我每分钟都在运行一个云功能。

空行(请参阅下面的日志)间歇性地出现在 Stackdriver 日志中。

我不相信这是由于我编写的函数代码。

可以使用这个 main.py 重新创建错误:

import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
logger.info(f"Logging {__name__}")


def main(event, context):
    logger.info("Message 1")
    logger.info("Message 2")
    logger.info("Message 3")
Run Code Online (Sandbox Code Playgroud)

当 Cloud Scheduler 每分钟触发一次时,此函数会在几个小时内发出空行。

如何防止这个问题?

更新:添加了两个扩展日志

{
 insertId: "000001-redacted-but-identical"  
 labels: {
  execution_id: "894004659398898"   
 }
 logName: "projects/redacted/logs/cloudfunctions.googleapis.com%2Fcloud-functions"  
 receiveTimestamp: "2019-12-13T23:05:01.545007423Z"  
 resource: {
  labels: {
   function_name: "recreate_blank_lines"    
   project_id: "redacted"    
   region: "us-central1"    
  }
  type: "cloud_function"   
 }
 severity: "INFO"  
 timestamp: "2019-12-13T23:05:00.344Z"  
 trace: "projects/redacted/traces/c4ed0267fd9fa4bf9133043bdfe5b1e0"  
}

{
 insertId: "000000-redacted-but-identical"  
 labels: {
  execution_id: "894004659398898"   
 }
 logName: "projects/redacted/logs/cloudfunctions.googleapis.com%2Fcloud-functions"  
 receiveTimestamp: "2019-12-13T23:05:01.545007423Z"  
 resource: {
  labels: …
Run Code Online (Sandbox Code Playgroud)

python python-3.x google-cloud-logging google-cloud-functions

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

通过 gcloud auth 实现更持久的用户凭据?防止过期?

我们使用gcloudCLI 运行临时作业并手动部署云功能。

以前,我们使用一个共享服务帐户的多个密钥。这显然是不好的做法。

gcloud auth application-default login让我们每个人都使用自己的个人用户凭据,但它们会在大约一个小时后过期!

我检查了https://admin.google.com/ac/security/reauth/admin-tools并且设置显示never require reauthentication


问题:如何获得更持久的用户凭据以供使用gcloud


我能想到的唯一其他选择是为每个开发人员创建唯一的服务帐户。

authentication google-cloud-platform gcloud

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

为三角计算制作Swift假设学位

是否可以在Swift for iOS中更改设置,属性等,以便它假设三角计算的度数而不是弧度?

例如,sin(90)将评估为1.

我有:

let pi = 3.14 
var r2d = 180.0/pi
var d2r = pi/180
Run Code Online (Sandbox Code Playgroud)

......但是转换正在为一些长三角方程真正参与.

trigonometry ios swift

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

Push_back 1D向量作为行进入2D向量数组

我正在尝试定义'row'或1D向量的值,然后将该行push_back到2D向量中.我尝试了几个不会抛出错误而且似乎也无法正常工作的不同东西.代码如下:

#include <vector>
#include <iostream>
using std::vector;

#define HEIGHT 5
#define WIDTH 3

// 2D VECTOR ARRAY EXAMPLE

int main() {
vector<vector<double> > array2D;
vector<double> currentRow;

// Set up sizes. (HEIGHT x WIDTH)
// 2D resize
array2D.resize(HEIGHT);
for (int i = 0; i < HEIGHT; ++i)
{
  array2D[i].resize(WIDTH);
}
// Try putting some values in
array2D[1][2] = 6.0; // this works
array2D[2].push_back(45); // this value doesn't appear in vector output.  Why?

// 1D resize
currentRow.resize(3);

// Insert values into row …
Run Code Online (Sandbox Code Playgroud)

c++ arrays syntax vector push-back

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