CentOS 7 上安装配置 Kubernetes 集群(2)

TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.56.11 GATEWAY=192.168.56.1 DNS1=192.168.56.1

注意 BOOTPROTO=static 这一行是设置 IP 为静态 IP。

停止并禁用防火墙

systemctl stop firewalld systemctl disable firewalld

关闭 SELinux

setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

设置主机名

通过以下命令将本机的主机名修改为 k8s-node1

echo k8s-node1 > /etc/hostname

修改文件 /etc/hosts,将主机名 k8s-node1 添加到 hosts ,以便在本机能够解析。效果如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 k8s-node1 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

关闭 swap, 并取消自动挂载 /swap

swapoff -a && sysctl -w vm.swappiness=0 sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab

复制其他节点

操作之前建议备份节点。

此时也可以不进行节点复制,等 docker 和 kubelet, kubeadm, kubectl 的安装完成后在进行节点复制更方便。

在 VirtualBox 中复制 k8s-node1 节点为其他节点,其他节点的名称分别为 k8s-node2, k8s-node3, k8s-node4。然后分别修改各个节点的如下项:

修改节点的固定 IP

修改节点的主机名 和 hosts 文件

至此基础环境已经安装完毕,下一步进入到 docker 和 k8s 的安装。

安装 docker

此步骤要在所有的 4 个节点执行。

安装依赖项

yum install -y yum-utils device-mapper-persistent-data lvm2 deltarpm

添加阿里云的 yum 仓库

yum-config-manager --add-repo yum makecache fast

安装 docker

yum install -y docker-ce docker-ce-cli containerd.io

完成后查看 docker 版本

docker --version

输出结果为

Docker version 18.09.7, build 2d0083d

现在 docker 已经成功安装了。

修改docker 的 cgroup 驱动为 systemd ,与k8s一致

cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } EOF

重启 docker ,并设置为随机自启动,请输入:

systemctl restart docker systemctl enable docker

安装 kubelet kubeadm kubectl

此步骤要在所有的 4 个节点执行。

添加 kubernetes YUM 仓库,其中源修改为阿里云

cat > /etc/yum.repos.d/kubernetes.repo <<EOF [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 EOF

安装 kubelet, kubeadm, kubectl, ipvsadm

yum install -y kubelet kubeadm kubectl ipvsadm

设置路由

安装路由工具包,并加载 br_netfilter 模块

yum install -y bridge-utils.x86_64 modprobe br_netfilte

设置路由

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

重新加载所有配置

sysctl --system

启动并设置随机自动启动

systemctl start kubelet systemctl enable kubelet

配置 master 节点 执行初始化操作

执行如下命令来初始化 master 节点。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/35751d8d99511acb4dc02ff5a1c7045c.html