mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 02:08:13 +00:00 
			
		
		
		
	bazel: statically link dockerized components
and remove libc from docker images when it's not needed.
This commit is contained in:
		
							
								
								
									
										15
									
								
								build/BUILD
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								build/BUILD
									
									
									
									
									
								
							| @@ -32,17 +32,10 @@ docker_build( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| docker_build( | docker_build( | ||||||
|     name = "busybox-libc", |     name = "busybox-net", | ||||||
|     base = ":busybox", |     base = ":busybox", | ||||||
|     debs = [ |     debs = [ | ||||||
|         "@libc_deb//file", |         "@libc_deb//file", | ||||||
|     ], |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| docker_build( |  | ||||||
|     name = "busybox-net", |  | ||||||
|     base = ":busybox-libc", |  | ||||||
|     debs = [ |  | ||||||
|         "@iptables_deb//file", |         "@iptables_deb//file", | ||||||
|         "@iproute2_deb//file", |         "@iproute2_deb//file", | ||||||
|         "@libnetlink_deb//file", |         "@libnetlink_deb//file", | ||||||
| @@ -52,15 +45,15 @@ docker_build( | |||||||
|  |  | ||||||
| DOCKERIZED_BINARIES = { | DOCKERIZED_BINARIES = { | ||||||
|     "kube-apiserver": { |     "kube-apiserver": { | ||||||
|         "base": ":busybox-libc", |         "base": ":busybox", | ||||||
|         "target": "//cmd/kube-apiserver:kube-apiserver", |         "target": "//cmd/kube-apiserver:kube-apiserver", | ||||||
|     }, |     }, | ||||||
|     "kube-controller-manager": { |     "kube-controller-manager": { | ||||||
|         "base": ":busybox-libc", |         "base": ":busybox", | ||||||
|         "target": "//cmd/kube-controller-manager:kube-controller-manager", |         "target": "//cmd/kube-controller-manager:kube-controller-manager", | ||||||
|     }, |     }, | ||||||
|     "kube-scheduler": { |     "kube-scheduler": { | ||||||
|         "base": ":busybox-libc", |         "base": ":busybox", | ||||||
|         "target": "//plugin/cmd/kube-scheduler:kube-scheduler", |         "target": "//plugin/cmd/kube-scheduler:kube-scheduler", | ||||||
|     }, |     }, | ||||||
|     "kube-proxy": { |     "kube-proxy": { | ||||||
|   | |||||||
| @@ -10,7 +10,14 @@ load( | |||||||
|  |  | ||||||
| go_binary( | go_binary( | ||||||
|     name = "cloud-controller-manager", |     name = "cloud-controller-manager", | ||||||
|  |     gc_linkopts = [ | ||||||
|  |         "-linkmode", | ||||||
|  |         "external", | ||||||
|  |         "-extldflags", | ||||||
|  |         "-static", | ||||||
|  |     ], | ||||||
|     library = ":go_default_library", |     library = ":go_default_library", | ||||||
|  |     linkstamp = "k8s.io/kubernetes/pkg/version", | ||||||
|     tags = ["automanaged"], |     tags = ["automanaged"], | ||||||
| ) | ) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -10,6 +10,12 @@ load( | |||||||
|  |  | ||||||
| go_binary( | go_binary( | ||||||
|     name = "kube-apiserver", |     name = "kube-apiserver", | ||||||
|  |     gc_linkopts = [ | ||||||
|  |         "-linkmode", | ||||||
|  |         "external", | ||||||
|  |         "-extldflags", | ||||||
|  |         "-static", | ||||||
|  |     ], | ||||||
|     library = ":go_default_library", |     library = ":go_default_library", | ||||||
|     linkstamp = "k8s.io/kubernetes/pkg/version", |     linkstamp = "k8s.io/kubernetes/pkg/version", | ||||||
|     tags = ["automanaged"], |     tags = ["automanaged"], | ||||||
|   | |||||||
| @@ -10,6 +10,12 @@ load( | |||||||
|  |  | ||||||
| go_binary( | go_binary( | ||||||
|     name = "kube-controller-manager", |     name = "kube-controller-manager", | ||||||
|  |     gc_linkopts = [ | ||||||
|  |         "-linkmode", | ||||||
|  |         "external", | ||||||
|  |         "-extldflags", | ||||||
|  |         "-static", | ||||||
|  |     ], | ||||||
|     library = ":go_default_library", |     library = ":go_default_library", | ||||||
|     linkstamp = "k8s.io/kubernetes/pkg/version", |     linkstamp = "k8s.io/kubernetes/pkg/version", | ||||||
|     tags = ["automanaged"], |     tags = ["automanaged"], | ||||||
|   | |||||||
| @@ -10,6 +10,12 @@ load( | |||||||
|  |  | ||||||
| go_binary( | go_binary( | ||||||
|     name = "kube-proxy", |     name = "kube-proxy", | ||||||
|  |     gc_linkopts = [ | ||||||
|  |         "-linkmode", | ||||||
|  |         "external", | ||||||
|  |         "-extldflags", | ||||||
|  |         "-static", | ||||||
|  |     ], | ||||||
|     library = ":go_default_library", |     library = ":go_default_library", | ||||||
|     linkstamp = "k8s.io/kubernetes/pkg/version", |     linkstamp = "k8s.io/kubernetes/pkg/version", | ||||||
|     tags = ["automanaged"], |     tags = ["automanaged"], | ||||||
|   | |||||||
| @@ -10,6 +10,12 @@ load( | |||||||
|  |  | ||||||
| go_binary( | go_binary( | ||||||
|     name = "kubeadm", |     name = "kubeadm", | ||||||
|  |     gc_linkopts = [ | ||||||
|  |         "-linkmode", | ||||||
|  |         "external", | ||||||
|  |         "-extldflags", | ||||||
|  |         "-static", | ||||||
|  |     ], | ||||||
|     library = ":go_default_library", |     library = ":go_default_library", | ||||||
|     linkstamp = "k8s.io/kubernetes/pkg/version", |     linkstamp = "k8s.io/kubernetes/pkg/version", | ||||||
|     tags = ["automanaged"], |     tags = ["automanaged"], | ||||||
|   | |||||||
| @@ -10,6 +10,12 @@ load( | |||||||
|  |  | ||||||
| go_binary( | go_binary( | ||||||
|     name = "kubectl", |     name = "kubectl", | ||||||
|  |     gc_linkopts = [ | ||||||
|  |         "-linkmode", | ||||||
|  |         "external", | ||||||
|  |         "-extldflags", | ||||||
|  |         "-static", | ||||||
|  |     ], | ||||||
|     library = ":go_default_library", |     library = ":go_default_library", | ||||||
|     linkstamp = "k8s.io/kubernetes/pkg/version", |     linkstamp = "k8s.io/kubernetes/pkg/version", | ||||||
|     tags = ["automanaged"], |     tags = ["automanaged"], | ||||||
|   | |||||||
| @@ -10,6 +10,12 @@ load( | |||||||
|  |  | ||||||
| go_binary( | go_binary( | ||||||
|     name = "kube-scheduler", |     name = "kube-scheduler", | ||||||
|  |     gc_linkopts = [ | ||||||
|  |         "-linkmode", | ||||||
|  |         "external", | ||||||
|  |         "-extldflags", | ||||||
|  |         "-static", | ||||||
|  |     ], | ||||||
|     library = ":go_default_library", |     library = ":go_default_library", | ||||||
|     linkstamp = "k8s.io/kubernetes/pkg/version", |     linkstamp = "k8s.io/kubernetes/pkg/version", | ||||||
|     tags = ["automanaged"], |     tags = ["automanaged"], | ||||||
|   | |||||||
| @@ -10,7 +10,14 @@ load( | |||||||
|  |  | ||||||
| go_binary( | go_binary( | ||||||
|     name = "kube-aggregator", |     name = "kube-aggregator", | ||||||
|  |     gc_linkopts = [ | ||||||
|  |         "-linkmode", | ||||||
|  |         "external", | ||||||
|  |         "-extldflags", | ||||||
|  |         "-static", | ||||||
|  |     ], | ||||||
|     library = ":go_default_library", |     library = ":go_default_library", | ||||||
|  |     linkstamp = "k8s.io/kubernetes/pkg/version", | ||||||
|     tags = ["automanaged"], |     tags = ["automanaged"], | ||||||
| ) | ) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Mike Danese
					Mike Danese