# eccgateway **Repository Path**: endedgecloudteam/eccgateway ## Basic Information - **Project Name**: eccgateway - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2020-08-07 - **Last Updated**: 2025-11-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # eccgateway EndEdgeCloud web server. # 编译 eccgateway打包 在根目录执行以下命令 ```shell script bash build/build.sh ``` httpserver打包 进入cmd/httpserver目录,执行以下命令 ```shell script docker build -t 10.5.26.86:8080/zjlab/httpserver:$(date +%Y%m%d) . ``` # 部署 ClusterRoleBinding修改 ```shell script kubectl edit clusterrolebinding cluster-admin ``` k8s默认会创建clusterrolebinding,只绑定default下的名为default的serviceacount, 将其修改为绑定eec namespace下default的serviceaccount,如下所示 ```yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding ... name: cluster-admin ... subjects: - apiGroup: rbac.authorization.k8s.io kind: Group name: system:masters - kind: ServiceAccount name: default namespace: eec # 默认为default,修改为eec ``` 修改eccgateway-secret.yaml中的证书内容,在master节点上执行secret中的命令,将输出结果填写在secret中 若/etc/kubernetes/admin.conf不存在,则使用kubectl的证书$HOME/.kube/config ```yaml kubernetes-key: (cat /etc/kubernetes/admin.conf | grep client-key-data | awk '{print $2}') kubernetes-cert: (cat /etc/kubernetes/admin.conf | grep client-certificate-data | awk '{print $2}') kubernetes-ca: (cat /etc/kubernetes/admin.conf | grep certificate-authority-data | awk '{print $2}') ``` 将build/deploy目录下的文件拷贝至master节点,执行以下命令 ```shell script kubectl create -f mysql-deployment.yaml kubectl create -f mysql-service.yaml kubectl create -f httpserver-deployment.yaml kubectl create -f httpserver-service.yaml kubectl create -f eccgateway-deployment.yaml kubectl create -f eccgateway-service.yaml kubectl create -f clusterCRD.yaml kubectl create -f eecnode-configmap.yaml ``` 使用kubectl建立云端集群,并给云端节点打上云端集群的labels ```shell script kubectl create -f cloud-cluster.yaml kubectl label nodes {{节点名称}} kubeedge=cloudcore ``` ## 验证 当pod运行后,执行以下命令,若返回namespaces下的所有pod,即认为pod运行正常 ```shell script curl http://10.5.26.50:10193/kubernetes/api/v1/namespaces/default/pods ``` ## 本地调试步骤 1、在eccgateway的根目录下,编译二进制 ```shell script CGO_ENABLED=0 go build . ``` 2、将要连接的集群的证书和集群配置文件放至eccgateway代码库根目录的ssl文件夹中 3、编辑conf/app.conf,修改参数 ```shell script leaderElectionEnable = false ``` 4、启动eccgateway 关闭选举功能,同时将日志输出打印至标准输出中 ```shell script kubernetesCert=./ssl/ca.crt kubernetesKey=./ssl/ca.key \ KubernetesAddress=https://10.5.26.181:8443/ \ kubeconfig=ssl/config \ HarborUser=wangxj HarborPassword=Eec123456 \ HarborAddress=http://10.5.26.86:8080 \ ./eccgateway --leader-election-enable false --logtostderr true ```