我正在寻找一种干净的方法将字节数组转换为客户端-服务器应用程序的结构。我知道大多数人都转向 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) 我知道如何创建服务抽象,该服务抽象指向外部数据库的端点(不在集群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) 我正在创建一个由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)