# bookinfo **Repository Path**: hacker__007/bookinfo ## Basic Information - **Project Name**: bookinfo - **Description**: 全新 云原生系统精讲与全流程落地实践 https://coding.imooc.com/learn/list/904.html - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-05-30 - **Last Updated**: 2025-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 全新 云原生系统精讲与全流程落地实践 [全新 云原生系统精讲与全流程落地实践](https://coding.imooc.com/lesson/904.html) 阿里云 GO 镜像:https://mirrors.aliyun.com/goproxy ## cobra Cobra 是基于 go 语言的一个提供简单接口以创建类似 git & go 工具的强大现代 CLI 界面的库。 [cobra](https://github.com/spf13/cobra) ```shell # 安装 cobra-cli go install github.com/spf13/cobra-cli@latest # 初始化(先创建 go 项目并将 cobra 安装到项目中) cobra-cli init # 添加一条名为 `serve` 的命令 # cobra 命令的相关文件在 /cmd 中,每一条子命令对应一个文件 cobra-cli add serve ``` ## 运行 ```shell # 运行 serve 命令 go run . serve ``` ## 其他命令 ```shell # 重启 Docker systemctl restart docker # 构建镜像 docker build -t bookinfo:0.0.1 . # 打标签 docker tag bookinfo:0.0.1 harbor.host/bookinfo/bookinfo:0.0.1 # 推送 docker push harbor.host/bookinfo/bookinfo:0.0.1 ``` ## pprof 在项目中集成 pprof 之后,可以访问 http://localhost:9060/debug/pprof/ 来查看数据,也可以通下面的命令来先生成数据再查询。 ```shell # 先运行服务,然后执行以下命令来生成数据 # 其他的数据还包括:.../pprof/heep, .../pprof/goroutine 等 go tool pprof http://localhost:9060/debug/pprof/profile ``` 以上命令执行完后,可以在终端里执行 `top`、`web` 等命令来查询数据 注意要使用 `web` 命令,需要先安装 graphviz 工具 ## Docker 仓库密钥 https://kubernetes.io/docs/concepts/configuration/secret/#docker-config-secrets ```shell # 创建密钥 kubectl create secret docker-registry harbor-host \ --docker-email=tiger@acme.example \ --docker-username=admin \ --docker-password=123456 \ --docker-server=harbor.host # 查看密钥 kubectl get secret ``` ## Helm ```shell # 创建 helm 文件结构 helm create bookinfo # 渲染出最终配置,可以用来验证 Values 取值是否正确 helm template . # 安装项目 # -n 用于指定命名空间,这样在模板中就可以不用配置命名空间了 helm install bookinfo . -n bookinfo --create-namespace helm install bookinfo . -n default # 查看 helm list -n bookinfo # 卸载 helm uninstall bookinfo -n bookinfo # 打包 helm package . # 推送 # 先在 harbor.host 上创建一个 bookinfo-charts 项目 helm push bookinfo-0.0.1.tgz oci://harbor.host/bookinfo-charts --insecure-skip-tls-verify ``` ### 密钥 由于使用了命名空间,所以需要在命名空间中创建仓库密钥 ```shell kubectl create secret docker-registry harbor-host -n bookinfo \ --docker-email=tiger@acme.example \ --docker-username=admin \ --docker-password=123456 \ --docker-server=harbor.host ```