使用kubeadmin部署k8s集群(安装kubeadmin1.15.0)

                               一:环境机准备

master: 192.168.1.11

node:   192.168.1.12

node2: 192.168.1.13

kubeadm:可以把kubeadmin看成一个部署工具,它简化K8s的部署过程。

二:准备工作(master、node1、node2执行)

检查master、node1、node2是否能上外网

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

关闭SELinux

sed -i 's/enforcing/disabled/' /etc/selinux/configsetenforce 0getenforce

禁用Swap

swapoff -ased -i 's/.*swap.*/#&/' /etc/fstab

配置主机ip映射及主机名

cat <<EOF >> /etc/hosts192.168.1.10 master192.168.1.11 node1192.168.1.12 node2EOF
cat /etc/hostsreboot

安装docker(所有)

yum -y install wgetwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  -O /etc/yum.repos.d/docker-ce.repoyum -y install docker-ce-18.06.1.ce-3.el7systemctl enable docker && systemctl start dockerdocker --version

配置Docker的镜像加速器(所有)

mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{       "registry-mirrors": ["https://registry.docker-cn.com","https://51lfh9e0.mirror.aliyuncs.com"]}EOF
systemctl daemon-reloadsystemctl restart docker

配置阿里云的Kubernetes源(所有)

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

配置内核参数,将桥接的IPv4流量传递到iptables的链(所有)

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

systemd驱动(所有)

vim /usr/lib/systemd/system/docker.service#修改为systemdExecStart=/usr/bin/dockerd --exec-opt native.cgroupdriver=systemdsystemctl daemon-reloadsystemctl restart docker

安装k8s(所有)

yum install -y kubeadm-1.15.0-0 kubectl-1.15.0-0 kubelet-1.15.0-0systemctl enable kubelet

三:初始化(master执行)

kubeadm init --apiserver-advertise-address=192.168.181.142 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.15.0 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16

–image-repository string:这个用于指定从什么位置来拉取镜像(1.13版本才有的),默认值是k8s.gcr.io,我们将其指定为国内镜像地址:registry.aliyuncs.com/google_containers

最后生成的命令记录下来,后边使用kubeadm join往集群中添加节点时会用到;

kubeadm join 192.168.1.11:6443 --token 2cv3mq.x0zbmqrdopz75ov2 \

 --discovery-token-ca-cert-hash sha256:1d7cff9a6ee4a1c9007d0a391b36e49a2ecc0f03ecab74c9fb11b0075fc21a96

mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/configkubectl get nodes

四:安装flannel(master执行)

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

没有翻墙有可能安装失败,kubectl get pod -n kube-system查看容器安装进度,docker images 查看是否下载完镜像,也可以下载flannel.yml要求的容器,手动导入master节点内。等待几分钟便安装成功。个人建议是拉取对应镜像放到master节点后,在执行kubectl apply -f kube-flannel.yml

如果node节点还是notready,手动将flannel镜像上传至node节点容器镜像仓库内,即可变为ready

#docker load < flannel.tarkubectl apply -f kube-flannel.yml         kubectl get pod -n kube-system            kubectl get nodes

五:加入node1、node2节点(node1、node2节点运行)

由于网络问题,node节点无法下载到flannel镜像,导致node节点一直是notready状态,手动将flannel镜像上传至node节点容器镜像仓库内

#docker load < flannel.tar
使用前面生成的token,如果忘记使用kubeadm token create --print-join-commandkubeadm join 192.168.181.140:6443 --token qd3apb.ly13dx5944yxhykw --discovery-token-ca-cert-hash sha256:71de75d66c44eb49c4a330714df6183ec3eb46d1952bc951474724eb44aef0d5
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值