我是Kubernetes的新手,使用的是k8s v1.4,Minikube v0.15.0和Spotify maven Docker插件.
我的项目的构建过程创建了一个Docker镜像,并将其直接推送到Minikube的Docker引擎中.
pod是由我创建的部署(使用副本集)创建的,策略设置为type: RollingUpdate.
我在文档中看到了这个:
注意:当且仅当部署的pod模板(即.spec.template)发生更改时,才会触发Deployment的部署.
我正在寻找一种简单的方法/解决方法来自动化流程:构建触发>推送新的Docker镜像(更改版本)>部署将更新pod>服务将公开新的pod.
我正在尝试使用golang client扩展部署。我发现的问题是golang 客户端没有用于部署的缩放方法。我不知道我该怎么做。我的想法是进行部署,修改副本,然后进行更新。
package main
import (
"context"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
appsv1 "k8s.io/api/apps/v1"
"flag"
"fmt"
"os"
"path/filepath"
)
func main() {
var kubeconfig *string
if home := homedir.HomeDir(); home != "" {
kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file")
} else {
kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file")
}
flag.Parse()
config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig)
if err != nil {
panic(err)
}
clientset, err := kubernetes.NewForConfig(config)
if …Run Code Online (Sandbox Code Playgroud)