小编use*_*318的帖子

golang 将字节数组转换为结构体

我正在寻找一种干净的方法将字节数组转换为客户端-服务器应用程序的结构。我知道大多数人都转向 gob 包来实现此解决方案,但是我不控制应用程序的编码。话虽这么说,我只编写了服务器应用程序而不是客户端,正在交换的协议有一个相互契约。

我能得出的最好的结果如下。

type T struct {
    A int16
    B int8
    C []byte
}

func main() {
    // Create a struct and write it.
    t := T{A: 99, B: 10}
    buf := &bytes.Buffer{}

    buf1 := []byte{5, 100, 100}
    fmt.Println(buf1)

    buf.Write(buf1)

    //err := binary.Write(buf, binary.BigEndian, t)

    //if err != nil {
    //  panic(err)
    //}
    fmt.Println(buf)

    // Read into an empty struct.
    t = T{}
    err := binary.Read(buf, binary.BigEndian, &t)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%d %d", t.A, t.B) …
Run Code Online (Sandbox Code Playgroud)

byte struct casting go

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

Kubernetes如何从Fix IP连接外部MySQL

我知道如何创建服务抽象,该服务抽象指向外部数据库的端点(不在集群ip内)。但是,我的mysql服务(单个主机mysql)仅允许fix ip进行访问。显而易见的原因是安全性。

那么,如何解决这个问题呢?

  kind: "Service"
  apiVersion: "v1"
  metadata:
    name: "example-external-service"
  spec:
    ports:
      -
        name: "mysql"
        protocol: "TCP"
        port: 3306
        targetPort: 3306
        nodePort: 0
Run Code Online (Sandbox Code Playgroud)

终点定义:

kind: "Endpoints"
apiVersion: "v1"
metadata:
  name: "example-external-service" 
subsets: 
- addresses:
  - ip: "10.10.1.1"
  ports:
  - name: "mysql"
    port: 3306
Run Code Online (Sandbox Code Playgroud)

service external kubernetes

5
推荐指数
0
解决办法
931
查看次数

kubernetes skydns无法转发请求

我正在创建一个由1个主2节点kubernetes组成的集群.我正在尝试基于以下内容创建skydns:

apiVersion: v1
kind: ReplicationController
metadata:
  name: kube-dns-v11
  namespace: kube-system
  labels:
    k8s-app: kube-dns
    version: v11
    kubernetes.io/cluster-service: "true"
spec:
  replicas: 1
  selector:
    k8s-app: kube-dns
    version: v11
  template:
    metadata:
      labels:
        k8s-app: kube-dns
        version: v11
        kubernetes.io/cluster-service: "true"
    spec:
      containers:
      - name: etcd
        image: gcr.io/google_containers/etcd-amd64:2.2.1
        # resources:
        #   # TODO: Set memory limits when we've profiled the container for large
        #   # clusters, then set request = limit to keep this container in
        #   # guaranteed class. Currently, this container falls into the
        # …
Run Code Online (Sandbox Code Playgroud)

dns kubernetes skydns

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

标签 统计

kubernetes ×2

byte ×1

casting ×1

dns ×1

external ×1

go ×1

service ×1

skydns ×1

struct ×1