前期准备

准备3台服务器

这里我选择通过VMware Workstaion来搭建3个虚拟机,每个配置2CPU和2G内存,如下图:

上图可以看出我已经设置了配置主机名与静态IP地址

角色主机名IP地址
masterhdp01192.168.183.113
slavehdp02192.168.183.111
slavehdp03192.168.183.112

 

(2)关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

(4)校正系统时间

系统时间不一致,会导致node节点无法加入集群
查看系统时间:

date

安装ntp

yum install -y ntp

同步时间

ntpdate cn.pool.ntp.org

(5)关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0

(6)关闭swap => K8S中不支持swap分区

vim /etc/fstab
#/dev/mapper/centos-swap swap                    swap    defaults        0 0

(7)将桥接的IPv4流量传递到iptables的链

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

# sysctl --system

3.安装Docker&Kubeadm&Kubelet

 以下步骤请在所有节点中操作:

3.1安装Docker

# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
# yum -y install docker-ce-18.06.1.ce-3.el7
# systemctl enable docker && systemctl start docker
# docker --version
Docker version 18.06.1-ce, build e68fc7a

如报错,请注意:

安装wget

yum -y install wget

3.2添加阿里云Yum软件源

复制代码
# cat > /etc/yum.repos.d/kubernetes.repo << EOF
[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
复制代码

3.3安装Kubeadm&Kubelet&Kubectl

注意:本次部署K8S版本号为1.13.3

yum install -y kubelet-1.13.3 kubeadm-1.13.3 kubectl-1.13.3
systemctl enable kubelet

遇到的一些坑如下:

① 碰到需要kubernetes-cni的问题:

#####错误:软件包:kubelet-1.13.3-0.x86_64 (kubernetes)
需要:kubernetes-cni = 0.6.0
可用: kubernetes-cni-0.3.0.1-0.07a8a2.x86_64 (kubernetes)
kubernetes-cni = 0.3.0.1-0.07a8a2
可用: kubernetes-cni-0.5.1-0.x86_64 (kubernetes)
kubernetes-cni = 0.5.1-0
可用: kubernetes-cni-0.5.1-1.x86_64 (kubernetes)
kubernetes-cni = 0.5.1-1
可用: kubernetes-cni-0.6.0-0.x86_64 (kubernetes)
kubernetes-cni = 0.6.0-0
正在安装: kubernetes-cni-0.7.5-0.x86_64 (kubernetes)
kubernetes-cni = 0.7.5-0
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
yum install -y kubelet-1.13.3 kubeadm-1.13.3 kubectl-1.13.3 kubernetes-cni-0.6.0

② 使用yum安装程序时,提示xxx.rpm公钥尚未安装

从 https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 检索密钥
导入 GPG key 0xA7317B0F:
 用户ID     : "Google Cloud Packages Automatic Signing Key <gc-team@google.com>"
 指纹       : d0bc 747f d8ca f711 7500 d6fa 3746 c208 a731 7b0f
 来自       : https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

e3438a5f740b3a907758799c3be2512a4b5c64dbe30352b2428788775c6b359e-kubectl-1.13.3-0.x86_64.rpm 的公钥尚未安装

 失败的软件包是:kubectl-1.13.3-0.x86_64
 GPG  密钥配置为:https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

解决:使用 yum install xxx.rpm --nogpgcheck 命令格式跳过公钥检查,比如跳过kubectl和kubeadm的公钥检查如下命令:

yum install kubectl-1.13.3-0.x86_64 --nogpgcheck
yum install kubeadm-1.13.3-0.x86_64 --nogpgcheck

查看kubeadm、kubelet版本 

kubelet --version
kubeadm version

3.4 部署Kubernetes Master

以下步骤请在k8s-master节点上操作:

kubeadm init \
--apiserver-advertise-address=192.168.198.111 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.13.3 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
具体参考地址

https://www.cnblogs.com/imstrive/p/11409008.html#autoid-2-0-0

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐