晓得用rancher怎么去管理K8S集群吗

简介: 晓得用rancher怎么去管理K8S集群吗

Rancher是一个开源的容器管理平台,它提供了一套强大的工具和界面,用于简化容器的部署、管理和监控。作为一个集成的容器管理平台,Rancher有以下主要特点和功能:

1. 跨平台支持:Rancher可以在各种基础设施环境中运行,包括公共云、私有云、裸机或虚拟机。它能够支持多种容器编排引擎,如Kubernetes、Docker Swarm等。

2. 易用的用户界面:Rancher提供了直观友好的Web界面,让用户可以轻松地管理容器、集群和应用程序。用户可以通过图形化界面进行操作,而无需深入了解底层技术细节。

3. 集群管理:Rancher支持创建、配置和管理多个容器集群,帮助用户轻松构建高可用、可扩展的容器环境。

4. 服务编排:Rancher提供了灵活的服务编排功能,让用户可以轻松定义、部署和扩展复杂的应用程序服务。

5. 监控与日志:Rancher内置了监控和日志功能,可以实时查看容器和集群的性能指标、日志信息,及时发现并解决问题。

6. 安全性:Rancher提供了对容器和集群的安全管理功能,包括身份认证、访问控制、网络隔离等,保障应用程序和数据的安全。

总的来说,Rancher是一个功能强大、易于使用的容器管理平台,帮助用户简化容器化应用的部署和管理,提高生产效率和可靠性。

一、基础环境准备

事先准备三台机器,1台安装rancher,其余的两台等待做集群配置。

#配置主机名:

hostnamectl set-hostname rancher

hostnamectl set-hostname master

hostnamectl set-hostname node1

#配置 hosts 文件:

#打开/etc/hosts 文件,新增加如下几行(三台都执行):

192.168.59.223 rancher

192.168.59.234 master

192.168.59.171  node1

#配置 rancher 到 k8s 主机互信

#生成 ssh 密钥对

ssh-keygen #一路回车,不输入密码

#把密钥传给对应的几台机器(三台都执行)

ssh-copy-id rancher

ssh-copy-id master

ssh-copy-id node1

#关闭防火墙(三台都执行)

systemctl stop firewalld

systemctl disable firewalld

#关闭swap交换空间(三台都执行)

swapoff -a

#关闭 selinux(三台都执行)

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'    /etc/selinux/config

#安装相关依赖包

yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl  curl-devel unzip sudo ntp libaio-devel  wget vim ncurses-devel autoconf automake zlibdevel python-devel epel-release openssh-server socat ipvsadm conntrack ntpdate telnet

#配置时间同步

ntpdate cn.pool.ntp.org

crontab -e

* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org

#安装软件

#内核参数修改:br_netfilter 模块用于将桥接流量转发至 iptables 链,br_netfilter 内核参数需要开启转发。

modprobe br_netfilter

cat > /etc/sysctl.d/k8s.conf <<EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

EOF

sysctl -p /etc/sysctl.d/k8s.conf

二、在 rancher 机器上配置 安装docker

# 更新源

sudo yum install -y yum-utils

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动docker

systemctl start docker

#systemctl daemon-reload

#systemctl restart docker

#systemctl status docker

三、下载Rancher镜像并安装

管理已有的K8S集群需要根据版本下载对应docker镜像

docker pull rancher/rancher:v2.5.13

如果镜像拉取的非常慢,可以进行以下修改(离线镜像可不设置)

vim /etc/docker/daemon.json

{

   "registry-mirrors":[

       "https://9cpn8tt6.mirror.aliyuncs.com",

       "https://registry.docker-cn.com"

   ]

}

vi /etc/resolv.conf

把这里的114开头的替换为阿里云的DNS地址(223.5.5.5),关闭保存

# 然后重启docker

systemctl restart docker

#查看docker的状态

ps -ef|grep docker

启动rancher

docker run -d --name=rancher --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher:v2.5.13

四、访问和设置

使用https访问

#https://ip:端口

https://192.168.59.223/80

为默认的admin用户设置密码

登录后的首页面如下所示

现在我们来添加一个新的K8S集群

选择自定义

填好集群名称,其他参数默认即可,点击下一步进入添加主机的页面,勾选角色Etcd、Control和worker

从节点选worker节点即可。

待两个状态都为active就可以了。

上述的用rancher重新部署一个2节点的K8S集群。如有部署好的集群,可以直接导入集群。

FAQ

#清理冗余镜像

docker stop $(docker ps -aq)

docker rm $(docker ps -aq)

docker system prune -f

docker volume rm $(docker volume ls -q)

docker image rm $(docker image ls -q)

rm -rf /etc/ceph \

     /etc/cni \

     /etc/kubernetes \

     /opt/cni \

     /opt/rke \

     /run/secrets/kubernetes.io \

     /run/calico \

     /run/flannel \

     /var/lib/calico \

     /var/lib/etcd \

     /var/lib/cni \

     /var/lib/kubelet \

     /var/lib/rancher/rke/log \

     /var/log/containers \

     /var/log/pods \

     /var/run/calico

查看安装成功后的镜像

[root@localhost~]# docker images

[root@localhost~]# docker container ls

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
4月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
ACK One 的多集群应用分发,可以最小成本地结合您已有的单集群 CD 系统,无需对原先应用资源 YAML 进行修改,即可快速构建成多集群的 CD 系统,并同时获得强大的多集群资源调度和分发的能力。
151 9
|
4月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
本文介绍如何利用阿里云的分布式云容器平台ACK One的多集群应用分发功能,结合云效CD能力,快速将单集群CD系统升级为多集群CD系统。通过增加分发策略(PropagationPolicy)和差异化策略(OverridePolicy),并修改单集群kubeconfig为舰队kubeconfig,可实现无损改造。该方案具备多地域多集群智能资源调度、重调度及故障迁移等能力,帮助用户提升业务效率与可靠性。
|
6月前
|
存储 Kubernetes 监控
K8s集群实战:使用kubeadm和kuboard部署Kubernetes集群
总之,使用kubeadm和kuboard部署K8s集群就像回归童年一样,简单又有趣。不要忘记,技术是为人服务的,用K8s集群操控云端资源,我们不过是想在复杂的世界找寻简单。尽管部署过程可能遇到困难,但朝着简化复杂的目标,我们就能找到意义和乐趣。希望你也能利用这些工具,找到你的乐趣,满足你的需求。
597 33
|
6月前
|
Kubernetes 开发者 Docker
集群部署:使用Rancher部署Kubernetes集群。
以上就是使用 Rancher 部署 Kubernetes 集群的流程。使用 Rancher 和 Kubernetes,开发者可以受益于灵活性和可扩展性,允许他们在多种环境中运行多种应用,同时利用自动化工具使工作负载更加高效。
341 19
|
6月前
|
人工智能 分布式计算 调度
打破资源边界、告别资源浪费:ACK One 多集群Spark和AI作业调度
ACK One多集群Spark作业调度,可以帮助您在不影响集群中正在运行的在线业务的前提下,打破资源边界,根据各集群实际剩余资源来进行调度,最大化您多集群中闲置资源的利用率。
|
9月前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
6月前
|
Prometheus Kubernetes 监控
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
199 0
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
|
8月前
|
缓存 容灾 网络协议
ACK One多集群网关:实现高效容灾方案
ACK One多集群网关可以帮助您快速构建同城跨AZ多活容灾系统、混合云同城跨AZ多活容灾系统,以及异地容灾系统。
|
7月前
|
运维 分布式计算 Kubernetes
ACK One多集群Service帮助大批量应用跨集群无缝迁移
ACK One多集群Service可以帮助您,在无需关注服务间的依赖,和最小化迁移风险的前提下,完成跨集群无缝迁移大批量应用。
|
9月前
|
Kubernetes Ubuntu 网络安全
ubuntu使用kubeadm搭建k8s集群
通过以上步骤,您可以在 Ubuntu 系统上使用 kubeadm 成功搭建一个 Kubernetes 集群。本文详细介绍了从环境准备、安装 Kubernetes 组件、初始化集群到管理和使用集群的完整过程,希望对您有所帮助。在实际应用中,您可以根据具体需求调整配置,进一步优化集群性能和安全性。
658 13

推荐镜像

更多