小编Abu*_*ifa的帖子

将本地目录挂载到minikube中的pod

我正在运行minikube v0.24.1.在这个minikube中,我将为我的nginx应用程序创建一个Pod.而且我想从本地目录传递数据.

这意味着我想将我的本地安装$HOME/go/src/github.com/nginx到我的Pod中

我怎样才能做到这一点?

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - image: nginx:0.1
    name: nginx
    volumeMounts:
    - mountPath: /data
      name: volume
  volumes:
  - name: volume
    hostPath:
      path: /data
Run Code Online (Sandbox Code Playgroud)

kubernetes minikube

24
推荐指数
6
解决办法
1万
查看次数

包含字符串和整数的 Golang 映射

我正在尝试使用 golang 中的 JSON.Marshal() 从地图创建 JSON 字符串。但是,int 值显示为用双引号括起来的字符串。

我的代码输出:

{ "age":
    {
        "$gt":"22",
        "$lt":"20"
    },
  "location":
    {
        "$eq":"london"
    },
  "name":{
        "$eq":"fred"
    }
}
Run Code Online (Sandbox Code Playgroud)

代替

{ "age":
    {
        "$gt":22,
        "$lt":20
    },
  "location":
    {
        "$eq":"london"
    },
  "name":{
        "$eq":"fred"
    }
}
Run Code Online (Sandbox Code Playgroud)

我在用:

var output_map = map[string]map[string]string{}

//Populate map here

output_json, err := json.Marshal(output_map)

if err!= nil {
    fmt.Println("Error encoding JSON")
}

fmt.Println(output_json)
Run Code Online (Sandbox Code Playgroud)

我的理解是,如果提供了整数,JSON.Marshal() 将正确打印整数,但我的地图不会包含整数。我可以将地图更改为map[string]map[string]int{},但它不会包含“name”和“location”的字符串值。

最终的问题是我需要映射包含 int 和 string 值。某种地图[字符串]地图[字符串]{}。

我怎样才能实现这个目标?先感谢您。

哈利

json types marshalling go

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

如何授予 grafana 用户适当的权限,以便它可以成功启动?

环境:

kubernetes provider: gke
kubernetes version: v1.13.12-gke.25
grafana version: 6.6.2 (official image)
Run Code Online (Sandbox Code Playgroud)

grafana 部署清单:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana
  namespace: monitoring
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      name: grafana
      labels:
        app: grafana
    spec:
      containers:
      - name: grafana
        image: grafana/grafana:6.6.2
        ports:
        - name: grafana
          containerPort: 3000
        # securityContext:
        #     runAsUser: 104
        #     allowPrivilegeEscalation: true
        resources:
          limits:
            memory: "1Gi"
            cpu: "500m"
          requests: 
            memory: "500Mi"
            cpu: "100m"
        volumeMounts:
          - mountPath: /var/lib/grafana
            name: grafana-storage
      volumes:
        - name: grafana-storage
          persistentVolumeClaim: …
Run Code Online (Sandbox Code Playgroud)

grafana kubernetes

6
推荐指数
1
解决办法
5365
查看次数

为什么这两个结构在内存中有不同的大小?

假设我有这两个结构:

package main

import (
    "fmt"
    "unsafe"
)

type A struct {
    int8
    int16
    bool
}

type B struct {
    int8
    bool
    int16
}

func main() {
    fmt.Println(unsafe.Sizeof(A{}), unsafe.Sizeof(B{})) // 6 4
}
Run Code Online (Sandbox Code Playgroud)

大小A为6个字节.但是,大小B是4个字节.
我认为它与它们在内存中的布局有关,但我不确定我理解为什么它的行为是这样的.
是不是编译器可以检测和优化的东西?(重新排列字段顺序)

链接到代码

struct go compiler-optimization

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

使用反射更新结构中的属性

是否可以更新基于结构的属性?

是否可以根据其 JSON 标签来实现?

假设一个简单的结构:

type User struct {
    Name string `json:"username"`
}
Run Code Online (Sandbox Code Playgroud)

我需要使用反射以编程方式更新Name属性。我尝试了以下方法:

user := User{Name: "John"}
obj := reflect.Indirect(reflect.ValueOf(user))
obj.FieldByName("Name").SetString("Jake")
Run Code Online (Sandbox Code Playgroud)

panic: reflect: reflect.Value.SetString using unaddressable value https://play.golang.org/p/gkBgRXwje57

reflection struct go

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

如何使用C++构建优先级队列,优先级为大数,然后优先级为小奇数?

如何使用C++构建优先级队列,优先级甚至是大数字,然后是小的奇数?

例如:如果我4 8 3 2 1进入优先级队列,它将成为优先级队列8 4 2 1 3

c++ computer-science data-structures

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