rancher搭建k8s集群
rancher简介
rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器,rancher可以轻松地管理各种环境的kubernetes,满足IT需求并为devops团队提供支持
Kubernetes 不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标
准基础架构。Rancher 用户可以选择使用 Rancher Kubernetes Engine(RKE)创建 Kubernetes
集群,也可以使用 GKE,AKS 和 EKS 等云 Kubernetes 服务。 Rancher 用户还可以导入和管理
现有的 Kubernetes 集群
rancher的作用
Rancher 支持各类集中式身份验证系统来管理 Kubernetes 集群。例如,大型企业的员工可以
使用其公司 Active Directory 凭证访问 GKE 中的 Kubernetes 集群。IT 管理员可以在用户,组,
项目,集群和云中设置访问控制和安全策略。 IT 管理员可以在单个页面对所有 Kubernetes 集群
的健康状况和容量进行监控
Rancher 为 DevOps 工程师提供了一个直观的用户界面来管理他们的服务容器,用户不需要深
入了解 Kubernetes 概念就可以开始使用 Rancher。 Rancher 包含应用商店,支持一键式部署
Helm 和 Compose 模板。Rancher 通过各种云、本地生态系统产品认证,其中包括安全工具,监
控系统,容器仓库以及存储和网络驱动程序。下图说明了 Rancher 在 IT 和 DevOps 组织中扮演的
角色。每个团队都会在他们选择的公共云或私有云上部署应用程序
初始化环境
关闭防火墙
systemctl disable firewalld.service
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Docker安装
每台主机均使用 root 用户登录,每台均安装 docker-ce,安装命令为:
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"oom-score-adjust": -1000,
"data-root":"/var/lib/docker",
"log-driver":"json-file",
"log-opts":{
"max-size":"100m",
"max-file":"3"
},
"default-address-pools":[
{
"base":"10.168.0.0/16",
"size":24
}
],
"max-concurrent-downloads":50,
"max-concurrent-uploads":50,
"registry-mirrors":[
"https://x6kx40rp.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
],
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
EOF
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl enable docker
systemctl daemon-reload
systemctl restart docker
对于 CentOS 系统,docker.service 默认位于/usr/lib/systemd/system/docker.service,编辑docker.service,添加以下参数。
- 防止 docker 服务 OOM: OOMScoreAdjust=-1000
- 开启 iptables 转发链:ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
配置完成后重启服务器。
Rancher安装
在主机 rancher 上,执行如下命令
docker run -d \
--name rancher \
--restart=unless-stopped \
--privileged \
-p 80:80 -p 443:443 \
-v /data/rancher:/var/lib/rancher \
registry.cn-hangzhou.aliyuncs.com/rancher/rancher:v2.5.16
待容器拉取完毕后1分钟后进入页面,首次进入需要设置新密码
输入密码后进入下一个页面,输入rancher的地址,如有域名建议使用域名代替IP
进入主界面
Rancher支持中文显示,修改语言
集群创建
点击添加集群,进入创建K8S集群页面,点击自定义。
按需选择k8s版本,网络插件无特殊情况使用默认的Canal即可。
注册节点
创建Master节点
选择Etcd角色和Control角色,点击下方复制到剪切板。
ssh进入master节点粘贴命令。
创建Worker节点
选择Worker角色,点击下方复制到剪切板。
ssh进入到worker节点粘贴命令。
此时到Rancher管理页面,点击全局,看到有刚才创建的k8s集群:
点击主机,在这里可以看到集群部署过程中的各种状态,最终出现绿色的Active状态时,即表示K8S集群Master节点创建成功。
集群初始化
集群初始化完毕
如果后续需要添加节点,回到全局页面点右边三个点就能进入注册页面即可。
项目/命名空间
进入集群的项目/命名空间。
在此页面点击添加项目,我们来添加一个项目测试。
这里可以给项目设置一些默认配置。
接下来给项目添加命名空间test。
进入项目。
尝试部署一个服务,输入部署服务的名称、命名空间、docker镜像、端口映射规则等。
点击启动。
等待一段时间后。
找到暴露的Nodeport入口。
直接打开了nginx页面。