源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文

​k8s(v1.18.15)源码编译(容器方式)
Kubernetes源码编译,大致分为本地二进制可执行文件编译和docker镜像编译两种。由于在我们的环境中,Kubernetes是由Docker容器方式运行的。故此我们需要采用后面一种方式编译,即镜像编译。
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第1张图片

# cat /etc/redhat-release

# uname -a

# date

# docker -v

# df -h

源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第2张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第3张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第4张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第5张图片

# lsblk

# fdisk /dev/sdb

# pvcreate /dev/sdb1

# pvdisplay

# vgextend centos /dev/sdb1

# vgdisplay

# lvresize -L 55G /dev/mapper/centos-root

# xfs_growfs /dev/mapper/centos-root

源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第6张图片

# wget https://golang.google.cn/dl/go1.15.8.linux-amd64.tar.gz

# tar xf go1.15.8.linux-amd64.tar.gz -C /usr/local/

# echo "PATH=/usr/local/go/bin:$PATH" >> /etc/profile

# source /etc/profile

# go version
go version go1.15.8 linux/amd64
# mkdir -p /usr/local/go/bin/src/k8s.io
# cd /usr/local/go/bin/src/k8s.io
# git clone https://github.com/kubernetes/kubernetes -b v1.18.15
# cd kubernetes

源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第7张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第8张图片
编译命令

make all是在本地环境中进行编译的

make release和make quick-release在容器中完成编译、打包成docker镜像

推荐命令

make quick-release只编译(linux-amd64)

源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第9张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第10张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第11张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第12张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第13张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第14张图片
源码编译Kubernetes源码编译k8s(v1.18.15)(容器方式)图文_第15张图片

kubernetes源码编译

本地二进制文件编译Kubernetes(方法一)

Docker镜像编译Kubernetes(方法二)

查看kube-cross的TAG版本号

# cat build/build-image/cross/VERSION
v1.13.15-1
# egrep -Rn "debian_iptables_version=" ./
# egrep -Rn "debian_base_version=" ./

你可能感兴趣的:(k8s,kubernetes,linux,docker,centos,运维)