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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 晓得用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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
22天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
23天前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
1月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
455 1
|
1月前
|
Kubernetes Docker 容器
rancher docker k8s安装(一)
rancher docker k8s安装(一)
40 2
|
1月前
|
Kubernetes Cloud Native 微服务
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
105 1
|
1月前
|
负载均衡 应用服务中间件 nginx
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
50 1
|
1月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
140 0
|
1月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
73 0
|
1月前
|
弹性计算 Kubernetes Linux
如何使用minikube搭建k8s集群
如何使用minikube搭建k8s集群
|
1月前
|
Kubernetes Docker 容器
rancher docker k8s安装(二)
rancher docker k8s安装(二)
43 0