1. 在阿里云山申请三台云服务器

1.1 环境准备
完成配置后的信息
服务器IP 操作系统 CPU 内存 硬盘 主机名 节点角色
172.18.119.145 centos7 2 4G 50G k8s-master master
172.18.119.150 centos7 2 4G 50G k8s-node-01 node
172.18.119.151 centos7 2 4G 50G k8s-node-02 node
1.2 设置主机名称
#master
hostnamectl set-hostname k8s-master #node01
hostnamectl set-hostname k8s-node01 #node02
hostnamectl set-hostname k8s-node02
1.3 关闭防火墙
systemctl disable firewalled
systemctl stop firewalled
1.4 关闭Selinux
sed  -i  "s/SELINUX=enforcing/SELINUX=disabled/g"  /etc/selinux/config
1.5 关闭交换空间
swapoff -a
cp /etc/fstab /etc/fstab_bak
cat /etc/fstab_bak |grep -v swap > /etc/fstab
1.6 配置 sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1" >>/etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables = 1" >>/etc/sysctl.conf
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
echo "net.ipv4.ip_nonlocal_bind = 1" >>/etc/sysctl.conf
sysctl -p

2. 安装docker

所有节点都必须安装docker
2.1 配置aliyun的 docker yum源
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.2 开始安装
yum install -y docker-ce-18.09.7 docker-ce-cli-18.09.7
systemctl enable docker
systemctl start docker
docker -v
// 输出
Docker version 18.09.7, build 2d0083d

3. 安装Kubelet Kubeadm Kubectl

所有节点都要安装 Kubelet 、Kubeadm、Kubectl
3.1 配置 Kubernetes yum 源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
3.2 开始安装
yum remove -y kubelet kubeadm kubectl

// 阿里镜像当前是这个版本
yum install -y kebulet--1.17.2 kubeadm-1.17.2 kubectl-1.17.2

4. 部署K8S集群

4.1 部署master节点

4.1.1 配置kubeadm-config.yaml
cat <<EOF > /root/kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.17.2
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
controlPlaneEndpoint: "172.18.119.145:6443"
networking:
serviceSubnet: "10.96.0.0/16"
podSubnet: "10.100.0.0/20"
dnsDomain: "cluster.local"
EOF
4.1.2 拉取镜像
kubeadmin config images pull --config /root/kubeadm-config.yaml
4.1.3 初始化Master, 并记录日志,里面的token很重要
kubeadm init --config=kubeadm-config.yaml |tee kubeadm_init.log
4.1.4 配置Master认证权限
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
4.1.5 安装 CNI 插件 Calico
cd  /root
rm -f calico.yaml
wget https://docs.projectcalico.org/v3.8/manifests/calico.yaml
sed -i 's/192.168.0.0/16/10.100.0.0/20/g' calico.yaml
kubectl apply -f calico.yaml # 这里是配置CALICO_IPV4POOL_CIDR,即Pods 所在的 IP 段

4.2 部署 Node 节点

4.2.1 拉取镜像
# 在master节点执行 复制 master 节点的 kubeadm-config.yaml 到所有 node 节点
rsync -avP /root/kubeadm-config.yaml 172.18.119.150:/root/
rsync -avP /root/kubeadm-config.yaml 172.18.119.151:/root/ # 在Node 节点执行,拉取镜像
kubeadmin config images pull --config /root/kubeadm-config.yaml
4.3.2 初始化Node
在子节点执行以下命令(从master节点里的 kubeadm_init.log中复制出最后一行)
kubeadm join 172.18.119.145:6443 --token vb2046.9zcbi5g1cxbwb0zx --discovery-token-ca-cert-hash sha256:da2f4b5c4ed8586c3ea7ad3a8054f0be6ccc328ceccc91aba3860b007394c666
4.3.2 补充
如果初始化master时创建的token已经过期,需要重新创建token和获取ca证书sha256编码hash值,然后再初始化node节点
# 先在 Master 节点执行
kubeadm token create --print-join-command
// 输出
kubeadm join 172.18.119.145:6443 --token xofceq.lqdfk5rt65tvgnqg --discovery-token-ca-cert-hash sha256:da2f4b5c4ed8586c3ea7ad3a8054f0be6ccc328ceccc91aba3860b007394c666 # 然后到Node节点中执行上述的输出
kubeadm join 172.18.119.145:6443 --token xofceq.lqdfk5rt65tvgnqg --discovery-token-ca-cert-hash sha256:da2f4b5c4ed8586c3ea7ad3a8054f0be6ccc328ceccc91aba3860b007394c666

4.4 查看集群状态,当STATUS都为Ready时,集群搭建完成

kubectl get nodes
# 输出
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 5d20h v1.17.2
k8s-node-01 Ready <none> 5d20h v1.17.2
k8s-node-02 Ready <none> 5d20h v1.17.2

阿里云CentOS7安装K8S的更多相关文章

  1. 关于阿里云centos7安装svn,客服端无法链接的问题

    阿里云的centos7的版本中,通过yum安装了subversion之后,svn客服端无法链接svn服务器. 首先确定服务器的安全组策略中的3690端口是否打开 然后确定svnserve配置是否正确, ...

  2. 阿里云 centos7 安装mysql数据库

    环境:阿里云ECS服务器,系统为centos7.2 删除原来的数据库: centos7中默认安装了数据库MariaDB,如果直接安装MySQL的话,会直接覆盖掉这个数据库,当然也可以手动删除一下: [ ...

  3. 阿里云centos7安装redis全过程记录

    Redis下载地址:https://redis.io/download(这个连接可能得翻墙查看,但是在centos7服务器上安装过程不需要翻墙,我查看了最新的是redis-4.0.9.tar.gz ) ...

  4. 阿里云CentOS7安装Docker

    买了阿里云主机,由于学生有优惠,玩起来确实爽. 系统版本: [root@lxd ~]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (C ...

  5. 阿里云centos7安装python3.7.4和pip3

    亲测有效,针对 阿里云 centos 7 轻量服务器 python ==> 3.7.4 pip ==>  3 一,打开python官网,找到下载Python的tgz文件,有两种方式下载 ( ...

  6. 阿里云 centos7 安装MySQL8.0.13

    1.下载MySQL安装包(这里是有技巧的,说不定我这时写这个的时候版本还是你看到时的旧版本了,如果已经不是8.0了,可以根据这样来 下新版本) 先进入官网 再将这两者一结合,就是最新版本的了 所以 [ ...

  7. 阿里云 CentOS7 安装 Nginx 后,无法访问的问题

    在阿里云实例中,选择 网络与安全中的安全组.修改安全组规则. 例如:   但是还是不行 需要这样排查 netstat -anp | grep 80 iptables -L -n   firewall- ...

  8. 阿里云centos7安装桌面环境

    centos7. 1.安装X11.yum groupinstall "X Window System". 2.安装gnome. 全安装:yum groupinstall -y &q ...

  9. 阿里云环境安装K8S步骤

    1. 安装docker yum install -y docker 2. 修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值 $ vim /et ...

随机推荐

  1. Maven的安装 和idea的配置

    Maven的安装 和idea的配置 工欲善其事 必先利其器 1 下载maven 官网 下滑 找到Files tar.gz 是linux系统的 .zip window系统 2 maven安装和配置到环境 ...

  2. .Net Core 中使用工厂模式

    什么是工厂模式 工厂模式是最常用的设计模式之一,属于创建型模式. 有点: 解耦,可以把对象的创建和过程分开 减少代码量,易于维护 什么时候用? 当一个抽象类有多个实现的时候,需要多次实例化的时候,就要 ...

  3. RPA视频教程

    匠厂出品,必属精品   Uipath中文社区qq交流群:465630324 uipath中文交流社区:https://uipathbbs.comRPA之家qq群:465620839 第一课--UiPa ...

  4. java中常见的锁

    1.悲观锁 认为别的线程都会修改数据,二话不说先锁上 synchronized 2.乐观锁 乐观豁达,起初不操作.最后修改的时候比对一下版本,不一致再上锁 3.可重入锁 外层锁了之后,内层仍可以直接使 ...

  5. NC16564 [NOIP2012]借教室

    NC16564 [NOIP2012]借教室 题目 题目描述 ​ 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借 ...

  6. jdk8 hashmap 链表resize 源码分析

    重点看这部分代码 for (int j = 0; j < oldCap; ++j) { Node<K,V> e; if ((e = oldTab[j]) != null) { old ...

  7. java,接口

    package Demo.oop.APP.Demo07; //interface 定义接口的关键字:接口都需要实现类 public interface UserService { //接口中的所有的定 ...

  8. 使用vs2022编译assimp,并基于OpenGL加载模型

    Assimp :全称为Open Asset Import Library,这是一个模型加载库,可以导入几十种不同格式的模型文件(同样也可以导出部分模型格式).只要Assimp加载完了模型文件,我们就可 ...

  9. C#基础语法之-泛型

    泛型:一共7个知识点 1.引入泛型,延迟声明 2.如何声明和使用泛型 3.泛型的好处和原理 4.泛型类,泛型方法,泛型接口,泛型委托 5.泛型约束 6.协变,逆变 7.泛型缓存 一.为啥会出现泛型,有 ...

  10. raspberrypi系统在加入k8s作为node节点时遇到的问题

    新买的树莓派4b到货后就迫不及待的烧录上raspberrypi系统,将新派加入我的k8s集群,期间遇到了点小挫折,好歹也一个一个解决了: 一.kubelet版本不对导致无法加入k8s集群 在执行kub ...