k8s集群部署操作步骤

硬件环境

  1. 3台物理机,64G内存,2个*10核CPU
  2. 分布在至少两个机柜,以保证其高可用性

拓扑结构

topology

操作流程

三台物理主机更新yum软件源(如果主机yum不好使)

  1. 查看物理主机是否安装yum: rpm -qa | grep yum
  2. 直接卸载自带的yum: rpm -qa|grep yum|xargs rpm -e --nodeps
  3. 查看是否卸载干净 : rpm -qa |grep yum
  4. 将YUM文件夹(链接: https://pan.baidu.com/s/11O_kYk1gMXFI1m0gQHXNTQ 提取码: 53c7)拷贝到物理服务器,在YUM文件夹下执行: rpm -ivh *.rpm
  5. 将CentOS-Base.repo文件放在root账户下的/etc/yum.repos.d
    cp CentOS-Base.repo /etc/yum.repos.d/
  6. 清除缓存: yum clean all
  7. 建立元数据缓存:yum makecache

三台物理主机docker安装

  1. 关闭selinux:edit the /etc/selinux/config file and change the SELINUX=enforcing line to SELINUX=permissive
    在这里插入图片描述
  2. 设置yum源:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. 安装17.03.0版本:sudo yum install docker-ce-17.03.0.ce
  4. Docker:cgroup driver修改称systemd(应该和k8s保持一致),修改或者创建/etc/docker/daemon.json,在文件中加入配置在这里插入图片描述
  5. 启动:sudo systemctl start docker && systemctl enable docker
  6. 验证是否安装成功:- docker version在这里插入图片描述

三台物理主机安装k8s

  1. 关闭防火墙:
    systemctl disable firewalld && systemctl stop firewalld
  2. 添加yum源,在目录/etc/yum.repos.d下新建文件kubernetes.repo,内容如下:
[kubernetes] 
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1 
gpgcheck=0
  1. 安装k8s的主要部件:
    yum install -y kubelet kubeadm kubectl kubernetes-cni
  2. 启动docker和k8s
# systemctl enable docker && systemctl start docker 
# systemctl enable kubelet && systemctl start kubelet 
  1. 配置网络,开启网桥和路由表之间的权限
# sysctl -w net.bridge.bridge-nf-call-iptables=1 
# echo "net.bridge.bridge-nf-call-iptables=1" > /etc/sysctl.d/k8s.conf 
  1. 禁止swap
# swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab 
  1. 安装k8s的其他核心部件。原始kubernetes镜像文件在k8s.gcr.io,不能直接下载。需到其他容器仓库里拉取镜像。命令行输入下列命令:
    参考链接:https://my.oschina.net/u/2306127/blog/3084474/print
MY_REGISTRY=registry.cn-hangzhou.aliyuncs.com/openthings

## 拉取镜像
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.15.2
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.15.2
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.15.2
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.15.2
docker pull ${MY_REGISTRY}/k8s-gcr-io-etcd:3.3.10
docker pull ${MY_REGISTRY}/k8s-gcr-io-pause:3.1
docker pull ${MY_REGISTRY}/k8s-gcr-io-coredns:1.3.1


## 添加Tag
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.15.2 k8s.gcr.io/kube-apiserver:v1.15.2
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.15.2 k8s.gcr.io/kube-scheduler:v1.15.2
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.15.2 k8s.gcr.io/kube-controller-manager:v1.15.2
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.15.2 k8s.gcr.io/kube-proxy:v1.15.2
docker tag ${MY_REGISTRY}/k8s-gcr-io-etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag ${MY_REGISTRY}/k8s-gcr-io-pause:3.1 k8s.gcr.io/pause:3.1
docker tag ${MY_REGISTRY}/k8s-gcr-io-coredns:1.3.1 k8s.gcr.io/coredns:1.3.1
  1. 修改主机host名称和host文件。分别在三台物理主机中执行hostnamectl --static set-hostname node1.k8s/master.k8s/node2.k8s。并将下列条目添加到每一台物理主机的/etc/hosts文件
10.225.1.53 master.k8s 
10.255.1.54 node1.k8s 
10.225.1.55 node2.k8s 

Master节点启动k8s管理平台

  1. 在Master节点10.225.1.53中运行:sudo kubeadm init --kubernetes-version=v1.15.2 --apiserver-advertise-address=10.225.1.53
  2. 根据执行1的输出,创建工作目录;获取配置k8s网络的提示;获取加入集群的token值

三台物理机部属配置Pod网络

  1. 修改文件内容:/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf,在该文件内添加:
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/ --cni-bin-dir=/opt/cni/bin”
  1. 命令行运行:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

Worker节点加入k8s管理平台

  1. 两台worker节点通过join指令,加入k8s集群
  2. 查看k8s集群节点kubectl get nodes –o wide
    在这里插入图片描述
  3. 查看运行服务kubectl get po –n kube-system
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值