mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 02:08:13 +00:00 
			
		
		
		
	bazel: build debs for kubelet and kubeadm
This commit is contained in:
		| @@ -3,5 +3,13 @@ package(default_visibility = ["//visibility:public"]) | ||||
| licenses(["notice"]) | ||||
|  | ||||
| load("@io_bazel_rules_go//go:def.bzl", "go_prefix") | ||||
| load("@io_kubernetes_build//defs:build.bzl", "gcs_upload") | ||||
|  | ||||
| go_prefix("k8s.io/kubernetes") | ||||
|  | ||||
| gcs_upload( | ||||
|     name = "ci-artifacts", | ||||
|     data = [ | ||||
|         "//build-tools/debs", | ||||
|     ], | ||||
| ) | ||||
|   | ||||
							
								
								
									
										12
									
								
								WORKSPACE
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								WORKSPACE
									
									
									
									
									
								
							| @@ -4,6 +4,12 @@ git_repository( | ||||
|     remote = "https://github.com/bazelbuild/rules_go.git", | ||||
| ) | ||||
|  | ||||
| git_repository( | ||||
|     name = "io_kubernetes_build", | ||||
|     commit = "418b8e976cb32d94fd765c80f2b04e660c5ec4ec", | ||||
|     remote = "https://github.com/kubernetes/release.git", | ||||
| ) | ||||
|  | ||||
| load("@io_bazel_rules_go//go:def.bzl", "go_repositories") | ||||
|  | ||||
| go_repositories() | ||||
| @@ -37,3 +43,9 @@ debs = ( | ||||
|     sha256 = sha256, | ||||
|     url = url, | ||||
| ) for name, sha256, url in debs] | ||||
|  | ||||
| http_file( | ||||
|     name = "kubernetes_cni", | ||||
|     sha256 = "ddcb7a429f82b284a13bdb36313eeffd997753b6fa5191205f1e978dcfeb0792", | ||||
|     url = " https://storage.googleapis.com/kubernetes-release/network-plugins/cni-amd64-07a8a28637e97b22eb8dfe710eeae1344f69d16e.tar.gz", | ||||
| ) | ||||
|   | ||||
							
								
								
									
										105
									
								
								build-tools/debs/BUILD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								build-tools/debs/BUILD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,105 @@ | ||||
| package(default_visibility = ["//visibility:public"]) | ||||
|  | ||||
| load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar", "pkg_deb") | ||||
| load("@io_kubernetes_build//defs:deb.bzl", "k8s_deb", "deb_data") | ||||
|  | ||||
| filegroup( | ||||
|     name = "debs", | ||||
|     srcs = [ | ||||
|         ":kubeadm.deb", | ||||
|         ":kubectl.deb", | ||||
|         ":kubelet.deb", | ||||
|         ":kubernetes-cni.deb", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| deb_data( | ||||
|     name = "kubectl", | ||||
|     data = [ | ||||
|         { | ||||
|             "files": ["//cmd/kubectl"], | ||||
|             "mode": "0755", | ||||
|             "dir": "/usr/bin", | ||||
|         }, | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| deb_data( | ||||
|     name = "kubelet", | ||||
|     data = [ | ||||
|         { | ||||
|             "files": ["//cmd/kubelet"], | ||||
|             "mode": "0755", | ||||
|             "dir": "/usr/bin", | ||||
|         }, | ||||
|         { | ||||
|             "files": ["kubelet.service"], | ||||
|             "mode": "644", | ||||
|             "dir": "/lib/systemd/system", | ||||
|         }, | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| deb_data( | ||||
|     name = "kubeadm", | ||||
|     data = [ | ||||
|         { | ||||
|             "files": ["//cmd/kubeadm"], | ||||
|             "mode": "0755", | ||||
|             "dir": "/usr/bin", | ||||
|         }, | ||||
|         { | ||||
|             "files": ["kubeadm-10.conf"], | ||||
|             "mode": "644", | ||||
|             "dir": "/etc/systemd/system/kubelet.service.d", | ||||
|         }, | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| pkg_tar( | ||||
|     name = "kubernetes-cni-data", | ||||
|     package_dir = "/opt/cni", | ||||
|     deps = ["@kubernetes_cni//file"], | ||||
| ) | ||||
|  | ||||
| k8s_deb( | ||||
|     name = "kubectl", | ||||
|     description = """Kubernetes Command Line Tool | ||||
| The Kubernetes command line tool for interacting with the Kubernetes API. | ||||
| """, | ||||
| ) | ||||
|  | ||||
| k8s_deb( | ||||
|     name = "kubelet", | ||||
|     depends = [ | ||||
|         "iptables (>= 1.4.21)", | ||||
|         "kubernetes-cni (>= 0.3.0.1)", | ||||
|         "iproute2", | ||||
|         "socat", | ||||
|         "util-linux", | ||||
|         "mount", | ||||
|         "ebtables", | ||||
|         "ethtool", | ||||
|     ], | ||||
|     description = """Kubernetes Node Agent | ||||
| The node agent of Kubernetes, the container cluster manager | ||||
| """, | ||||
| ) | ||||
|  | ||||
| k8s_deb( | ||||
|     name = "kubeadm", | ||||
|     depends = [ | ||||
|         "kubelet (>= 1.4.0)", | ||||
|         "kubectl (>= 1.4.0)", | ||||
|     ], | ||||
|     description = """Kubernetes Cluster Bootstrapping Tool | ||||
| The Kubernetes command line tool for bootstrapping a Kubernetes cluster. | ||||
| """, | ||||
| ) | ||||
|  | ||||
| k8s_deb( | ||||
|     name = "kubernetes-cni", | ||||
|     description = """Kubernetes Packaging of CNI | ||||
| The Container Networking Interface tools for provisioning container networks. | ||||
| """, | ||||
| ) | ||||
							
								
								
									
										7
									
								
								build-tools/debs/kubeadm-10.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								build-tools/debs/kubeadm-10.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| [Service] | ||||
| Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true" | ||||
| Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true" | ||||
| Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin" | ||||
| Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local" | ||||
| ExecStart= | ||||
| ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_EXTRA_ARGS | ||||
							
								
								
									
										12
									
								
								build-tools/debs/kubelet.service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								build-tools/debs/kubelet.service
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| [Unit] | ||||
| Description=kubelet: The Kubernetes Node Agent | ||||
| Documentation=http://kubernetes.io/docs/ | ||||
|  | ||||
| [Service] | ||||
| ExecStart=/usr/bin/kubelet | ||||
| Restart=always | ||||
| StartLimitInterval=0 | ||||
| RestartSec=10 | ||||
|  | ||||
| [Install] | ||||
| WantedBy=multi-user.target | ||||
		Reference in New Issue
	
	Block a user
	 Mike Danese
					Mike Danese