使用kubeadm部署k8s的步骤

服务器资源列表

master1192.168.191.154
node1192.168.191.155
node2192.168.191.156

修改节点的hostname

#在master1节点执行
hostnamectl set-hostname master1
#在node1节点执行
hostnamectl set-hostname node1
# 在node2节点执行
hostnamectl set-hostname node2

修改/etc/hosts

在每个节点的/etc/hosts中增加如下配置,以方便访问:

192.168.191.154 master1
192.168.191.155 node1
192.168.191.156 node2

同步节点的时间

在每个节点安装ntpdate

yum install -y ntpdate
ntpdate ntp.api.bz

关闭防火墙

每个节点关闭防火墙

iptables -F
systemctl stop firewalld
systemctl disable firewalld

配置内核

增加/etc/sysctl.d/k8s.conf文件,内容如下:

# 1.开启iptables中ipv6的过滤规则
# 2.开启ipv4的过滤规则
# 3.开启服务器的路由转发功能
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

执行以下命令使配置规则生效:

# 加载br_netfilter模块
modprobe br_netfilter
# 加载/etc/sysctl.d/k8s.conf配置
sysctl -p /etc/sysctl.d/k8s.conf

关闭SELinux

执行以下命令关闭SELinux:

setenforce 0

然后修改/etc/selinux/config,将SELINUX的值设置成disabled,防止机器重启后SELinux自动启动

关闭swap

执行以下命令关闭swapoff:

swapoff -a

修改/etc/fstab,将swap那行注释掉,如下图所示:

安装docker

更新yum

yum update

安装需要的软件包,其中,yum-util是提供yum-config-manager功能的,device-mapper-persistent-data和lvm2是devicemapper驱动依赖的

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

添加软件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
yum-config-manager --disable docker-ce-edge
yum-config-manager --disable docker-ce-test

更新yum软件包索引并安装docker ce

yum makecache fast
yum -y install docker-ce

启动docker并设置开机自启动

systemctl start docker
systemctl enable docker

更改cgroup driver为systemd(kubelet默认使用的也是systemd),并且为docker添加镜像加速。

mkdir /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://jzbtfwo9.mirror.aliyuncs.com"]
}
EOF

重启docker

systemctl daemon-reload
systemctl restart docker

安装k8s

配置k8s仓库

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装k8s相关组件

yum -y install kubeadm kubelet kubernetes-cni
systemctl enable kubelet

拉取相关镜像

for i in `kubeadm config images list`; do
imageName=${i#k8s.gcr.io/}
docker pull registry.aliyuncs.com/google_containers/$imageName
docker tag registry.aliyuncs.com/google_containers/$imageName
k8s.gcr.io/$imageName
docker rmi registry.aliyuncs.com/google_containers/$imageName
done;

初始化master节点

在master节点上执行以下命令:

kubeadm init --kubernetes-version=v1.17.0 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.198.154

--kubernetes-version 指明要下载的镜像版本

--pod-network-cidr 指明网络的子网掩码,此处使用flannel模型的子网掩码

--apiserver-advertise-address 指明与master结点绑定的ip

注意:执行完初始化命令后,控制台上会有显示两条kubeadm join命令,这两条命令分别用于添加master节点和添加node节点上执行,需要先保存这两条命令。

配置kubectl客户端的config

在master节点上执行以下命令:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

配置flannel网络

# 下载flannel的yaml文件 
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kubeflannel.yml
# 执行这个文件生成flannel的pods
kubectl apply -f kube-flannel.yml

添加node节点

在两个node节点上执行不带有--control-plane参数的kubecadm join命令(在初始化master节点时自动生成的),参考如下:

kubeadm join 192.168.217.129:6443 --token vtqzkt.j0u1chomafn1offd --discoverytoken-ca-cert-hash sha256:c25549dc8457677752b8d1b0547acfa8be742cbd5734802b6d2e3e9a6e7e1b73

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值