三节点k8s集群安装
三节点k8s集群安装
虚拟机安装环境
CentOS Linux release 7.6.1810 (Core)
三节点集群:
角色 | 主机名 | IP |
Master | k8s-master | 39.98.155.125 |
Node1 | k8s-node01 | 39.98.157.128 |
Node2 | k8s-node02 | 39.99.164.97 |
虚拟机配置
配置项 | 配置情况 |
CPU | 2core |
内存 | 8G |
磁盘 | 40G |
一、检查虚拟机基础环境
1.查看虚拟机linux内核版本号
cat /proc/version
版本号:Linux version 3.10.0-957.21.3.el7.x86_6
2.查看cpu信息、内存信息、磁盘情况
#查看cpu信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c #查看内存信息 cat /proc/meminfo #查看磁盘 df -hl
3.验证MAC地址与product_uuid
#网络接口的 MAC 地址 ip link #也可以使用命令:ifconfig -a #检查product_uuid sudo cat /sys/class/dmi/id/product_uuid
二、修改主机名
#设置Host名称 hostnamectl set-hostname k8s-node02 #查看host名称 hostname #修改hosts文件 vi /etc/hosts
注意:在更改主机名后,需要重启虚拟机才能生效。
三、系统设置
1.关闭防火墙
# 查看防火墙状态,确认为dead,否则需stop systemctl status firewalld #关闭防火墙 systemctl stop firewalld #设置防火墙开机不启动 systemctl disable firewalld
2.查看SELinux配置状态
# 查看SELinux配置状态 getenforce # 如不是permissive,需执行下面语句进行修改 setenforce 0 # 将SELinux设置为 permissive 模式(相当于将其禁用) sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
3更改k8s配置文件
vim /etc/sysctl.d/k8s.conf # 添加如下内容 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 # 执行命令生效 modprobe br_netfilter sysctl -p /etc/sysctl.d/k8s.conf
4.关闭SWAP
#关闭swap,保证 kubelet正确运行 swapoff -a sysctl -p
四、配置yum源
# 查看yum源配置 cd /etc/yum.repos.d yum repolist # 查看yum源是否包含docker-ce,kubelet,kubeadm,kubectl yum list|grep docker-ce yum list|grep kubelet yum list|grep kubeadm yum list|grep kubectl # 若不存在,添加yum源配置 # 下载在/etc/yum.repos.d目录保存docker-ce.repo wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 在/etc/yum.repos.d目录写入kubenetes.repo vim kubenetes.repo # 以下为写入内容 [kubernetes] name=Kubernetes Repo baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg enabled=1 # 下载校验文件 wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg # 导入校验文件 rpm --import rpm-package-key.gpg rpm --import yum-key.gpg # 检测yum源列表 yum repolist # 更新软件 yum update -y
五、安装docker-ce,kubelet组件
master节点安装docker-ce,kubelet,kubeadm,kubectl
node节点安装docker,kubelet,kubeadm
# master节点安装 yum install docker-ce kubelet kubeadm kubectl # node节点安装 yum install docker-ce kubelet kubeadm # 配置docker服务开机启动 systemctl enable --now docker # 配置kubelet服务开机启动 systemctl enable --now kubelet
关闭系统SWAP
# 编辑kubelet的配置文件/etc/sysconfig/kubelet,设置其忽略Swap启用的状态错误,master以及node节点均需设置 vi /etc/sysconfig/kubelet # 将以下内容写入 KUBELET_EXTRA_ARGS="--fail-swap-on=false" # 重启服务使配置生效 systemctl daemon-reload systemctl restart kubelet
六、初始化集群
使用阿里镜像仓库
# master节点需要拉取镜像 vi docker-pull.sh # 写入以下内容 #!/bin/sh set -e GCR_URL=k8s.gcr.io ALIYUN_URL=registry.aliyuncs.com/google_containers QUAY_URL=quay.io QINIU_URL=quay-mirror.qiniu.com images=(kube-proxy:v1.17.2 kube-apiserver:v1.17.2 kube-controller-manager:v1.17.2 kube-scheduler:v1.17.2 coredns:1.6.5 etcd:3.4.3-0 pause:3.1 ) for imageName in ${images[@]} ; do docker pull $ALIYUN_URL/$imageName docker tag $ALIYUN_URL/$imageName $GCR_URL/$imageName docker rmi $ALIYUN_URL/$imageName done docker pull $QINIU_URL/coreos/flannel:v0.11.0-amd64 docker tag $QINIU_URL/coreos/flannel:v0.11.0-amd64 $QUAY_URL/coreos/flannel:v0.11.0-amd64 docker rmi $QINIU_URL/coreos/flannel:v0.11.0-amd64 docker images # 执行镜像拉取并修改标签 sh docker-pull.sh # node节点需要拉取镜像,需根据上面脚本内容修改 docker pull registry.aliyuncs.com/google_containers/kube-proxy:v1.13.3 docker pull registry.aliyuncs.com/google_containers/pause:3.1 docker pull quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64
#如果master节点已经配置好的话,可以直接将master节点上的镜像利用docker命令打包到node节点 #在master节点查看所需镜像并镜像打包 docker save \ k8s.gcr.io/kube-proxy \ ...... -o k8s_images.tar ls anaconda-ks.cfg k8s k8s_images.tar k8s.sh scp k8s_images.tar node01:k8s_images.tar #切换到node节点,导入镜像 ls anaconda-ks.cfg k8s k8s_images.tar k8s.sh docker load -i k8s_images.tar
七、节点加入集群
1.使用kubeadm init 初始化集群(mater节点)
#初始化集群,注意版本和apiserver地址以及Swap首字母大写 #在master节点执行命令 kubeadm init --kubernetes-version=v1.17.2 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap #启动完成后会显示join命令,记得保存 #根据提示完成非root用户配置 mkdir ~/.kube cp /etc/kubernetes/admin.conf ~/.kube/ chown $(id -u):$(id -g) $HOME/.kube/config # 对于root用户 $ export KUBECONFIG=/etc/kubernetes/admin.conf # 也可以直接放到~/.bash_profile(推荐用这个命令) $ echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
2.配置flannel
# 保存kube-flannel.yml文件 wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml # 创建相应对象 kubectl create -f kube-flannel.yml
3.使用kubeadm init 初始化集群(node节点)
#获取token值 kubeadm token list #在node节点执行join命令 kubeadm join 172.26.207.183:6443 --token 2onakr.c5vcr72uxpptuklq --discovery-token-ca-cert-hash sha256:33025b482176a401c9fefd570384fcf2ed2b500089061a8500852ccfcd3935ec --ignore-preflight-errors=Swap #加入成功后可在master节点查看 kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready master 5h17m v1.17.2 k8s-node01 Ready <none> 130m v1.17.2 k8s-node02 Ready <none> 7m15s v1.17.2
八、面板查看
使用火狐浏览器登录:
https://39.99.164.97:30001/#/login
选择token登陆
token值:
eyJhbGciOiJSUzI1NiIsImtpZCI6Imo2UmxvYTZuTnJFQ0Z2NnFUWENqZVVlbEhfdHZDMjVxQjlXMHR4RHlNZzgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tNW1xZnEiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiOTE3NmY4NzUtNTU3MC00MmRkLThmNzQtYmQwMDIyNjdkNzljIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.W8VghdAdoEcTnWXoGkSXO27HdNHeojAoN6E5FG9M11i4XCUb_DLMiW3pWVeRFc_eGgEx7g0KM4K8FcNb4FiVUmUUHkrQ7Do1FulrkZwkaur_z6AVtToojSqdDaQ-YYUbrfLb-oEXjI2yNZ_5ih5TyeDPlOdKmlc6-iHvNaNSQVCDZVATdMkB7oqlZ4n9dy-oUIuK87li1aXywVwLbhYiTLA9-SPoiqikJ2hcf6g7KVKIdDSzXi_WHfGmcQGKACWBBPTZbD9fmu7YMkiAtxYPrcHp_KbYKCdjYZn-ZUP57TDoKO-iP5zI9sRFbdHzE0mwW_BfIFTsIop9r33SuExALQ
- 点赞
- 收藏
- 分享
- 文章举报
- 跟Marko学习k8s--[3.2.1]安装配置Kubernetes集群单节点
- kubernetes集群的学习——单节点k8s安装
- 单节点k8s安装问题
- 搭建单节点(一个master和一个minion、k8s集群)多pod实验环境
- k8s, etcd 多节点集群部署问题排查记录
- Hadoop2.2.0版本多节点集群安装及测试
- mysql 在linux上的集群安装方法(数据节点和存储节点分开)
- hadoop多节点集群安装配置
- centos7 下google Kubernetes(k8s)集群安装部署
- Hadoop集群安装部署---单节点伪分布式
- 一步步教你Hadoop多节点集群安装配置
- 一步步教你Hadoop多节点集群安装配置
- 使用kubeadm命令为k8s集群添加节点命令查询
- Kibana安装(图文详解)(多节点的ELK集群安装在一个节点就好)
- Spark学习笔记(二) 安装Hadoop单节点集群
- Redis安装及单机集群搭建总结(多节点搭建集群和单机集群大同小异)
- 双节点weblogic集群安装
- WAS集群安装<二>DM节点安装配置