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

centos7.5 minimal 使用kubeadm安装k8s集群

程序员文章站 2022-03-01 17:23:32
...

 

一、环境准备

  • 操作系统:centos7.5
  •  

    k8s:1.12.1

二、步骤:

主要根据官方文档进行安装

2.1安装前准备

  • 一台或多台运行linux的物理机或虚拟机,本文使用centos7.5minimal
  • 2G内存2核cpu
  • 集群中所有机器网络联通
  • 每台机器的唯一主机名称、mac地址、product_uuid
  • 指定的端口开放
  • 关闭swap

2.2 安装运行时(docker)

这里可以根据官方文档进行安装docker-ce

  • 卸载旧版本docker:

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
  • 安装docker依赖包

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  • 添加docker源

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  • 安装docker-ce

$ sudo yum install docker-ce

如果要安装指定版本的docker,可以先查询:

$ yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable

然后安装指定版本

$ sudo yum install docker-ce-<VERSION STRING>

至此docker安装完毕,启动docker

systemctl start docker
开机自动启动
systemctl enable docker

安装Installing kubeadm, kubelet and kubectl

这个三个组件集群中的每台机器都要安装

国外的源被墙了,这里使用阿里的源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
       http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF


# Set SELinux in permissive mode (effectively disabling it)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

systemctl enable kubelet && systemctl start kubelet

如果不关闭防火墙后续会提示firewalld is active,所以这里把防火墙也关了
systemctl  stop firewalld
systemctl disable firewalld

官方文档说在rhel/centos上由于iptables的原因可能会导致traffic 路由错误,所以做如下设置:

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

master节点上kubelet 使用的cgroup驱动配置

这里我们用的是docker,无需额外配置

使用kubeadm创建集群

kubeadm目前仍然处于beta阶段(2018-10-22),在2018会打到GA状态

待续

 

 

 

 

 

相关标签: k8s