欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Centos 7 通过 kubeadm 安装 kubernetes V1.13.x

程序员文章站 2022-07-13 21:18:53
...

Centos 7 通过 kubeadm 安装 kubernetes

Centos 7使用kubdeadm安装K8S前需要做的工作:

  • 关闭swap
  • 关闭selinux
  • 关闭防火墙
  • 集群里的每个节点的/etc/hosts都要有所有节点ip和与其对应的hostname
  • docker安装完毕
  • 让系统内核开启网络转发

安装docker可以参考docker安装脚本

不要瞎看网上的教程,kubeadm安装不同于二进制安装,只需安装必须的kubeadm和kubelet等组件,其他如etcd等服务都是通过kubeadm自动创建,无需自行安装!

以下内容脚本获取地址:
https://github.com/Mr-Linus/k8s-mirrors/

准备工作

git clone https://github.com/Mr-Linus/k8s-mirrors/
cd k8s-mirrors/

安装kubeadm

./install-generic/install-kubeadm_el7.sh

安装脚本附带详细注释,安装出现任何疑问可以查看

拉取镜像

  • 如果你的机器可以,请忽略本步骤
  • 如果你的机器不能,请看以下步骤:

如何使用

  • (推荐选项)设置 kubeadm 拉取仓库

创建文件:image.yaml

apiVersion: kubeadm.k8s.io/v1alpha3
kind: ClusterConfiguration
imageRepository: registry.cn-hangzhou.aliyuncs.com/image-mirror

拉取镜像(每个节点):

kubeadm config images pull --config image.yaml
  • 另一种选项:运行容器拉取指定镜像
  • 版本V1.13.3
docker run --rm -it \
        -v /var/run/docker.sock:/var/run/docker.sock  \
        registry.cn-hangzhou.aliyuncs.com/geekcloud/image-pull:k8s-1.13.3
  • 版本V1.12.5
docker run --rm -it \
        -v /var/run/docker.sock:/var/run/docker.sock  \
        registry.cn-hangzhou.aliyuncs.com/geekcloud/image-pull:k8s-1.12.5

需要注意的是,每个节点无论是工作节点还是master节点都需要拉取镜像!!

否则将会出现pod一直处于pending或者构建镜像的状态!!

主节点安装k8s

./install-generic/install-k8s-master.sh

这个时候节点join进来并不会ready,需要你安装网络组件

安装脚本附带详细注释,安装出现任何疑问可以查看

下面可以做什么:

  • 部署 CNI
    选择需要的集群网络方案:flannelcalico(2选1)
  1. flannel:

运行容器实现镜像拉取(可以请忽略本步骤):

#获取镜像列表
curl -s  https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml | grep image | awk -F': ' '{ print $2  }' > $pwd/image-flannel.txt
#拉取镜像
docker run --rm -it \
        -v $pwd/image-flannel.txt:/image-pull/image.txt \
        -v /var/run/docker.sock:/var/run/docker.sock  \
        registry.cn-hangzhou.aliyuncs.com/geekcloud/image-pull:latest
# 部署flannel 
./install-networks/install-flannel.sh
  1. calico:
# 部署calico
./install-networks/install-calico.sh

本项目致力于搭建完整的 K8S 平台,如果需要其他额外镜像,您可以使用image-pull镜像实现镜像拉取。
假设需要拉取的镜像名写在文件/root/image.txt中:

quay.io/coreos/flannel:v0.11.0
quay.io/coreos/flannel:v0.12.0

运行容器实现镜像拉取:

docker run --rm -it \
        -v /root/image.txt:/image-pull/image.txt \
        -v /var/run/docker.sock:/var/run/docker.sock  \
        registry.cn-hangzhou.aliyuncs.com/geekcloud/image-pull:latest
相关标签: kubernetes kubeadm