1 Star 1 Fork 0

os-lee / k8s_demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.go 1.40 KB
一键复制 编辑 原始数据 按行查看 历史
lixingyu 提交于 2023-06-15 20:45 . add etcd
package main
import (
"context"
"github.com/gin-gonic/gin"
"lee/k8s_demo/conf"
"lee/k8s_demo/etcd"
"log"
"net/http"
"os"
"strings"
"time"
)
var (
started = time.Now()
)
func main() {
conf.Init()
etcd.Init()
router := gin.Default()
router.GET("/", func(c *gin.Context) {
hostname, _ := os.Hostname()
c.String(http.StatusOK, "name=%s, version=%s, passwd=%s running in pod=%s",
conf.CF.Service.Name, conf.CF.Service.Version, conf.CF.Secret.Passwd, hostname)
})
router.GET("/health", func(c *gin.Context) {
log.Println("Healthz 健康检查成功")
c.String(http.StatusOK, "Health 健康检查成功")
})
router.GET("/healthz", func(c *gin.Context) {
duration := time.Now().Sub(started)
if duration.Seconds() > 20 {
log.Println("Healthz 健康检查失败")
c.String(http.StatusInternalServerError, "Healthz 健康检查失败")
} else {
log.Println("Healthz 健康检查成功")
c.String(http.StatusOK, "Health 健康检查成功")
}
})
/**
service:
name: k8s_demo_etcd
version: v1.1
*/
router.GET("/etcd", func(c *gin.Context) {
log.Println("test etcd")
// etcdctl get 获取
getResponse, err := etcd.CLI.Get(context.TODO(), "/demo")
if err != nil {
panic(err.Error())
}
rst := make([]string, 0)
for _, kv := range getResponse.Kvs {
rst = append(rst, string(kv.Value))
}
c.String(http.StatusOK, strings.Join(rst, ","))
})
router.Run(":8888")
}
Go
1
https://gitee.com/os_lee/k8s_demo.git
git@gitee.com:os_lee/k8s_demo.git
os_lee
k8s_demo
k8s_demo
master

搜索帮助