Kubernetes原生api部署微服务2-创建Namespace、Deployment、Service

Client-go是kubernetes官方开源的访问Api Server的客户端,通过Client-go我们可以对kubernetes的资源进行增删改查等操作。

Client-go的github地址:https://github.com/kubernetes/client-go/

下面我们就使用Client-go客户端创建Namespace、Deployment和Service。

构建容器镜像

编写Dockerfile文件:

Dockerfile.user

FROM golang:alpine AS builder
RUN go env -w GO111MODULE=on
RUN go env -w GOPROXY=https://goproxy.cn,direct
RUN mkdir /app
COPY . /app
WORKDIR /app
RUN CGO_ENABLED=0 GOOS=linux go build -o srv-user -a -tags netgo -ldflags '-s -w' ./srv-user

FROM busybox
LABEL justin justin@
COPY --from=builder /app/srv-user .
EXPOSE  8888
ENTRYPOINT ["/srv-user"]

Dockerfile.article

FROM golang:alpine AS builder
RUN go env -w GO111MODULE=on
RUN go env -w GOPROXY=https://goproxy.cn,direct
RUN mkdir /app
COPY . /app
WORKDIR /app
RUN CGO_ENABLED=0 GOOS=linux go build -o srv-article -a -tags netgo -ldflags '-s -w' ./srv-article

FROM busybox
LABEL justin justin@
COPY --from=builder /app/srv-article .
EXPOSE  8899
ENTRYPOINT ["/srv-article"]

执行docker build命令生成镜像

docker build -t srv-user -f deploy/docker/Dockerfile.user .

docker build -t srv-article -f deploy/docker/Dockerfile.article .

查看镜像

图片

 

创建Namespace、Deployment、Service

k8sapi包结构:

图片

 

添加client-go依赖包及kubernetes api依赖包

go get k8s.io/client-go@v0.21.0

go get k8s.io/api@v0.21.0

go get k8s.io/apimachinery@v0.21.0

读取kubeconfig配置文件

kube config配置文件一般位于~/.kube/config,包含使用的kubernetes context及访问Api Server的认证信息。如果需要访问远程kubernetes cluster,则将配置文件copy到本地。

var kubeconfig *string

if home := homedir.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值