创建 deployment
deploymentClient := clientset.AppsV1().Deployments(apiv1.NamespaceDefault )
deployment := &appsv1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Name: "vc-web",
},
Spec: appsv1.DeploymentSpec{
Replicas: int32Ptr(2),
Selector: &metav1.LabelSelector{
MatchLabels: map[string]string{
"app": "vc-web",
},
},
Template: apiv1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"app": "vc-web",
"version": "V1",
},
},
Spec: apiv1.PodSpec{
Containers: []apiv1.Container{
{
Name: "vc-web",
Image: "nginx:1.13.5-alpine",
ImagePullPolicy: "IfNotPresent",
Ports: []apiv1.ContainerPort{
{
Name: "http",
Protocol: apiv1.ProtocolTCP,
ContainerPort: 80,
},
},
},
},
},
},
},
}
fmt.Println("Creating deployment...")
result, err := deploymentClient.Create(deployment)
if err != nil {
fmt.Println(err.Error())
}
fmt.Printf("Created deployment %s .\n", result.GetName())
func int32Ptr(i int32) *int32 {
return &i
}