文章目录
环境规划
集群类型
Kubernetes集群大体上分为两类:一主多从和多主多从
一主多从:一台master节点和多台node节点,搭建简单,但是有单机故障风险,适用于测试环境
多主多从:多台master节点和多台node节点,搭建麻烦,安全性高,适用于生产环境
安装方式
Kubernetes有多种部署方式,目前主流的方式有kubeadm、minikube、二进制包
1、Minikube:一个用于快速搭建单节点kubernetes的工具
2、Kubeadm:一个用于快速搭建kubernetes集群的工具,https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/
3、二进制包:从官网下载每个组件的二进制包,依次去安装,此方式对于理解kubernetes组件更加有效,https://github.com/kubernetes/kubernetes
说明:现在需要安装kubernetes的集群环境,但是又不想过于麻烦,所有选择使用kubeadm方式
主机规划
角色 | ip地址 | 组件 |
---|---|---|
master | 192.168.40.99 | docker,kubectl,kubeadm,kubelet |
node1 | 192.168.40.100 | docker,kubectl,kubeadm,kubelet |
node2 | 192.168.40.101 | docker,kubectl,kubeadm,kubelet |
环境搭建
本次环境搭建需要安装三台Linux系统(一主二从),内置centos7以上的系统,然后在每台linux中分别安装docker。kubeadm(1.25.0),kubelet(1.25.4),kubelet(1.25.4).
主机安装
安装虚拟机过程中注意下面选项的设置:
1、操作系统环境:cpu2个 内存2G 硬盘50G centos7+
2、语言:中文简体/英文
3、软件选择:基础设施服务器
4、分区选择:自动分区/手动分区
5、网络配置:按照下面配置网络地址信息
网络地址:192.168.40(99、100、101)
子网掩码:255.255.255.0
默认网关:192.168.40.2
DNS:8.8.8.8
6、主机名设置:
Master节点:master
Node节点:node1
Node节点:node2
环境初始化
1、查看操作系统的版本
# 此方式下安装kubernetes集群要求Centos版本要在7或之上
[root@master ~]# cat /etc/redhat-release
2、主机名解析 (三个节点都做)
为了方便集群节点间的直接调用,在这个配置一下主机名解析,企业中推荐使用内部DNS服务器
vim /etc/hosts
192.168.40.99 master.example.com master
192.168.40.100 node1.example.com node1
192.168.40.101 node2.example.com node2
3、时钟同步
kubernetes要求集群中的节点时间必须精确一致,这里使用chronyd服务从网络同步时间
企业中建议配置内部的时间同步服务器
Master:
vim /etc/chrony.conf
local stratum 10
systemctl restart chronyd
systemctl enable chronyd
hwclock -w
Node1和node2:
vim /etc/chrony.conf
server master.example.com iburst
systemctl restart chronyd
systemctl enable chronyd
hwclock -w
4、禁用firewalld、selinux、postfix(三个节点都做)
关闭防火墙、selinux,postfix----3台主机都配置
systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config
SELINUX=disabled
setenforce 0
systemctl stop postfix
systemctl disable postfix
5、禁用swap分区(三个节点都做)
vim /etc/fstab
注释掉swap分区那一行
swapoff -a
6、开启IP转发,和修改内核信息—三个节点都需要配置
vim /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
7、配置IPVS功能(三个节点都做)
vim /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
chmod +x /etc/sysconfig/modules/ipvs.modules
bash /etc/sysconfig/modules/ipvs.modules
lsmod | grep -e ip_vs
reboot
安装docker
需要在所有节点配置镜像源
[root@master yum.repos.d]# rm -rf *
[root@master yum.repos.d]# ls
[root