mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
# Copyright 2016 The Kubernetes Authors.
 | 
						|
#
 | 
						|
# Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
# you may not use this file except in compliance with the License.
 | 
						|
# You may obtain a copy of the License at
 | 
						|
#
 | 
						|
#     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
#
 | 
						|
# Unless required by applicable law or agreed to in writing, software
 | 
						|
# distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
# See the License for the specific language governing permissions and
 | 
						|
# limitations under the License.
 | 
						|
 | 
						|
FROM BASEIMAGE
 | 
						|
 | 
						|
# If we're building for another architecture than amd64, the CROSS_BUILD_ placeholder is removed so e.g. CROSS_BUILD_COPY turns into COPY
 | 
						|
# If we're building normally, for amd64, CROSS_BUILD lines are removed
 | 
						|
CROSS_BUILD_COPY qemu-ARCH-static /usr/bin/
 | 
						|
 | 
						|
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y \
 | 
						|
    && DEBIAN_FRONTEND=noninteractive apt-get -yy -q install \
 | 
						|
    iptables \
 | 
						|
    ethtool \
 | 
						|
    ca-certificates \
 | 
						|
    conntrack \
 | 
						|
    file \
 | 
						|
    util-linux \
 | 
						|
    socat \
 | 
						|
    curl \
 | 
						|
    git \
 | 
						|
    nfs-common \
 | 
						|
    && DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \
 | 
						|
    && DEBIAN_FRONTEND=noninteractive apt-get autoremove -y \
 | 
						|
    && DEBIAN_FRONTEND=noninteractive apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 | 
						|
 | 
						|
RUN cp /usr/bin/nsenter /nsenter
 | 
						|
 | 
						|
# Copy the hyperkube binary
 | 
						|
COPY hyperkube /hyperkube
 | 
						|
 | 
						|
# Manifests for the docker guide
 | 
						|
COPY static-pods/master.json /etc/kubernetes/manifests/
 | 
						|
COPY static-pods/etcd.json /etc/kubernetes/manifests/
 | 
						|
COPY static-pods/addon-manager.json /etc/kubernetes/manifests/
 | 
						|
 | 
						|
# TODO: Move out kube-proxy to a DaemonSet again
 | 
						|
COPY static-pods/kube-proxy.json /etc/kubernetes/manifests/
 | 
						|
 | 
						|
# Manifests for the docker-multinode guide
 | 
						|
COPY static-pods/master-multi.json /etc/kubernetes/manifests-multi/
 | 
						|
COPY static-pods/addon-manager.json /etc/kubernetes/manifests-multi/
 | 
						|
 | 
						|
# TODO: Move out kube-proxy to a DaemonSet again
 | 
						|
COPY static-pods/kube-proxy.json /etc/kubernetes/manifests-multi/
 | 
						|
 | 
						|
# Copy over all addons
 | 
						|
COPY addons /etc/kubernetes/addons
 | 
						|
 | 
						|
# Other required scripts for the setup
 | 
						|
COPY safe_format_and_mount /usr/share/google/safe_format_and_mount
 | 
						|
COPY setup-files.sh /setup-files.sh
 | 
						|
COPY make-ca-cert.sh /make-ca-cert.sh
 | 
						|
COPY copy-addons.sh /copy-addons.sh
 | 
						|
 | 
						|
# easy-rsa package required by make-ca-cert
 | 
						|
ADD https://storage.googleapis.com/kubernetes-release/easy-rsa/easy-rsa.tar.gz /root/kube/
 | 
						|
 | 
						|
# Copy the cni folder into /opt/
 | 
						|
COPY cni /opt/cni
 | 
						|
 | 
						|
# Copy overlay configuration to default directory
 | 
						|
COPY cni-conf /etc/cni/net.d
 | 
						|
 | 
						|
# Create symlinks for each hyperkube server
 | 
						|
# TODO: replace manual symlink creation with --make-symlink command once
 | 
						|
# cross-building with qemu supports go binaries. See #28702
 | 
						|
# RUN /hyperkube --make-symlinks
 | 
						|
RUN ln -s /hyperkube /apiserver \
 | 
						|
 && ln -s /hyperkube /controller-manager \
 | 
						|
 && ln -s /hyperkube /federation-apiserver \
 | 
						|
 && ln -s /hyperkube /federation-controller-manager \
 | 
						|
 && ln -s /hyperkube /kubectl \
 | 
						|
 && ln -s /hyperkube /kubelet \
 | 
						|
 && ln -s /hyperkube /proxy \
 | 
						|
 && ln -s /hyperkube /scheduler
 |