k8s 滚动升级
一 准备
1.编写一个简单的http服务,返回版本号
package main
import (
"fmt"
"log"
"net/http"
)
var Version = "library-import"
func VersionHandle(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Version: %s", Version)
}
func main() {
http.HandleFunc("/", VersionHandle)
err := http.ListenAndServe(":8888", nil)
if err != nil {
log.Fatal("Http Server Err:", err)
}
}
2.编译2个版本用于测试
go build -ldflags '-s -w -X main.Version=1' -o dist/app_v1 http_app/app.go
go build -ldflags '-s -w -X main.Version=2' -o dist/app_v2 http_app/app.go
3.编写Dockerfile,并且打包docker镜像推送到私有仓库
172.16.111.168 是私有仓库地址
Dockerfile_v1
FROM registry.aliyuncs.com/acs-sample/centos