client-go 创建 deployment

创建 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
}

猜你喜欢

转载自blog.csdn.net/u011327801/article/details/92795998