醋醋百科网

Good Luck To You!

基于Racher平台k8s集群搭建

概述

在容器技术广泛应用、Kubernetes 日益成熟的当下,企业内部运行多个 Kubernetes 集群已十分常见,二进制部署、rancher、kubeadm 等多种部署方式应运而生。本文着重讲解如何利用 Rancher 快速部署 K8s 集群。

Rancher 简介

Rancher 是一款开源的企业级容器管理平台,它免去了企业用开源软件搭建容器服务平台的繁琐过程,提供全栈化的容器部署与管理服务。Rancher 1.x 支持多种编排引擎,随着 Kubernetes 崛起,Rancher 2.x 完全转向 Kubernetes,可部署和管理各处的 Kubernetes 集群 。

Rancher 功能强大,能创建 Kubernetes 托管服务提供商的集群,自动完成节点创建与 Kubernetes 集群安装,也可导入已有集群。它支持集群身份验证和 RBAC,方便管理员统一控制集群访问;具备监控告警、日志外发功能,还与应用商店、Helm 集成;支持对接外部 CI/CD 流水线,也提供内置流水线;此外,多集群应用、全局 DNS 等众多开箱即用的功能,助力高效管理集群和业务应用,Rancher 是全栈式 Kubernetes 容器管理平台,也是实现 Kubernetes 随处运行的有力工具。

主机规划

主机名称

角色

IP地址

基础软件

k8s-rancher

管理k8s集群

172.18.0.6

docker-ce

k8s-master-node01

k8s集群主节点1

172.18.0.8

docker-ce

k8s-master-node02

k8s集群主节点2

172.18.0.19

docker-ce

k8s-master-node03

k8s集群主节点3

172.18.0.27

docker-ce

k8s-worker-node01

k8s集群从节点1

172.18.0.10

docker-ce

k8s-worker-node02

k8s集群从节点2

172.18.0.18

docker-ce

k8s-worker-node03

k8s集群从节点3

172.18.0.21

docker-ce

k8s-worker-node04

k8s集群从节点4

172.18.0.26

docker-ce

k8s-worker-node05

k8s集群从节点5

172.18.0.35

docker-ce

k8s-worker-node06

k8s集群主节点6

172.18.0.20

docker-ce

k8s-worker-node07

k8s集群主节点7

172.18.0.28

docker-ce

环境初始化

关闭防火墙关闭swap

# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld

# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0  

# 永久看/etc/selinux/config文件中SELINUX=disabled 即可
sed -i 's/permissive/disabled/' /etc/selinux/config && setenforce 0

## 关闭swap
swapoff -a && sed -ri 's/.*swap.*/#&/' /etc/fstab

同步时间

# 时间同步
yum install ntpdate -y
ntpdate ntp3.aliyun.com

docker容器安装

每台均安装 docker-ce,安装命令在 容器化技术之Docker-从入地到上天

现在在这里也提供一下:

# 配置repo源和epel源
# 先备份原来的源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 安装epel源
yum -y install epel-release
# yum的'--showduplicates'选项对于显示软件包的多个版本很有用。当您有非常特定的依赖项并尝试查找要安装的软件包的特定名称时,它将起着非常大的作用
yum list docker --show-duplicates
# 安装依赖
yum -y install yum-utils device-mapper-persistent-data lvm2
# 添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新并安装Docker-CE
yum makecache fast
yum list docker-ce --show-duplicates
# 这种方式是安装最新的docker-ce
yum -y install docker-ce 
# 添加镜像加速
mkdir -p /etc/docker/
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://yours.mirror.aliyuncs.com"]
}
EOF
# 添加开启启动
systemctl enable docker
# 更新xfsprogs
yum -y update xfsprogs   
# 启动
systemctl daemon-reload
systemctl restart docker

安装Rancher

启动rancher

启动时需要添加 --privileged 参数

docker run --privileged -d --restart=unless-stopped -p 81:80 -p 443:443 cce.uniscity.com/rancher/rancher:v2.5.3

查看日志

# docker logs -f cda


填写密码后进入rancher首页


集群添加

添加一个k8s集群


选择自定义


这里使用的选择的是kubernetes 1.19.15的版本。这里网络类型建议选flannel类型哈。



然后点击'下一步'


勾选Etcd Control Worker 创建Master节点/勾选Worker 创建Node节点

复制命令登录指定服务器执行命令


kubectl工具的安装

我这里是将kubectl工具安装在master上

使用wget命令下载或者将它下载到本地再上传到服务器

wget https://storage.googleapis.com/kubernetes-release/release/v1.18.20/bin/linux/amd64/kubectl

加x权限

# chmod +x kubectl

将二进制文件移到PATH中

# mv kubectl /usr/local/bin/

查看版本

# kubectl version --client
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.20", GitCommit:"1f3e19b7beb1cc0110255668c4238ed63dadb7ad", GitTreeState:"clean", BuildDate:"2021-06-16T12:58:51Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

5、创建kube目录

mkdir ~/.kube

6、编辑config文件



在~/.kube目录下创建config

vim ~/.kube/config

查看node状态

# kubectl get nodes
NAME                STATUS   ROLES                      AGE     VERSION
k8s-master-node01   Ready    controlplane,etcd,worker   22m     v1.19.15
k8s-worker-node01   Ready    worker                     13m     v1.19.15
k8s-worker-node02   Ready    worker                     10m     v1.19.15
k8s-worker-node03   Ready    worker                     6m38s   v1.19.15
k8s-worker-node04   Ready    worker                     5m30s   v1.19.15
k8s-worker-node05   Ready    worker                     3m30s   v1.19.15

查看所有pod状态

# kubectl get pods -A
NAMESPACE       NAME                                       READY   STATUS    RESTARTS   AGE
cattle-system   cattle-cluster-agent-5dfd87d87b-zfkkf      1/1     Running   0          21m
cattle-system   cattle-node-agent-456g7                    1/1     Running   0          3m11s
cattle-system   cattle-node-agent-cvng6                    1/1     Running   0          5h15m
cattle-system   cattle-node-agent-f2wcq                    1/1     Running   0          16m
cattle-system   cattle-node-agent-hd4c2                    1/1     Running   0          5h20m
cattle-system   cattle-node-agent-rmc98                    1/1     Running   0          5h16m
cattle-system   cattle-node-agent-spwsl                    1/1     Running   0          18m
cattle-system   kube-api-auth-bg9cd                        1/1     Running   0          18m
fleet-system    fleet-agent-76fc77855-ssxrz                1/1     Running   1          3h6m
ingress-nginx   default-http-backend-6977475d9b-v6st4      1/1     Running   0          13m
ingress-nginx   nginx-ingress-controller-cpzd6             1/1     Running   0          16m
ingress-nginx   nginx-ingress-controller-cr59l             1/1     Running   0          5h20m
ingress-nginx   nginx-ingress-controller-k75fr             1/1     Running   0          5h16m
ingress-nginx   nginx-ingress-controller-lhw8t             1/1     Running   0          3m11s
ingress-nginx   nginx-ingress-controller-nr766             1/1     Running   0          5h15m
ingress-nginx   nginx-ingress-controller-sfckx             1/1     Running   0          18m
kube-system     calico-kube-controllers-655c554569-vm5lb   1/1     Running   0          21m
kube-system     canal-f7kv7                                2/2     Running   0          3m11s
kube-system     canal-fb6ns                                2/2     Running   0          16m
kube-system     canal-frcdq                                2/2     Running   0          5h20m
kube-system     canal-fwsmg                                2/2     Running   0          18m
kube-system     canal-h84cr                                2/2     Running   0          5h16m
kube-system     canal-w722j                                2/2     Running   0          5h15m
kube-system     coredns-7cc5cfbd77-mrf7g                   1/1     Running   0          118m
kube-system     coredns-7cc5cfbd77-rwkl9                   1/1     Running   0          13m
kube-system     coredns-autoscaler-76f8869cc9-rp4bx        1/1     Running   0          3h6m
kube-system     metrics-server-54788574fd-x4w9c            1/1     Running   0          3h6m

rancher部署k8s集群就完成了!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言