基于rancher搭建k8s

这篇具有很好参考价值的文章主要介绍了基于rancher搭建k8s。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

快速搭建rancher

-v 用来挂载证书,如果没有证书,可以删除,默认使用rancher内置的自签证书

docker run -d --name rancher --privileged --restart=unless-stopped \
    -p 10080:80 -p 10443:443 \
    -v /root/tmp/rancher.mb.com.crt:/etc/rancher/ssl/cert.pem \
    -v /root/tmp/rancher.mb.com.key:/etc/rancher/ssl/key.pem \
    -v /root/tmp/cacerts.pem:/etc/rancher/ssl/cacerts.pem \
    rancher/rancher:v2.7.5

访问 https://ip:10443

rancher启动较慢,可以稍等片刻,大约半分钟,即可访问。前提是防火墙放行端口10443

获取rancher UI 默认的登录密码

浏览器访问到rancher的登录页面后,执行docker logs rancher 2>&1 | grep "Bootstrap Password:" 查看默认的登录密码

登录成功后,进入集群管理

基于rancher搭建k8s

创建集群

基于rancher搭建k8s

基于rancher搭建k8s

基于rancher搭建k8s

由于docker run的时候没有信任的证书,所以此处打勾

基于rancher搭建k8s

复制注册命令在需要安装的k8s机器上执行命令,静默安装. 我这边4h8g的机器大概在5分钟内安装完毕

rancher查看安装日志

安装过程中,会看到些许ERROR日志, 只要这个日志不会卡在那里1分钟以上, 就不要人为干预,rancher会自行调整

docker logs -f rancher

安装过程中的图

基于rancher搭建k8s

安装完成。节点状态变成Active,表示k8s可用。

需要安装k8s集群时,拿着命令在目标机上执行即可
基于rancher搭建k8s

遇到的坑

执行创建k8s的命令后, 一直都在Update状态

  • 背景说明:安装完成后,想再折腾一下,于是删除节点,再重复上面的操作,发现一直都创建不成功
  • 解决办法
    • 在rancher移除节点
    • 在rancher集群管理,删除前面创建的集群
    • 在k8s机器上执行卸载命令, 命令一般放在/usr/local/bin目录,可以通过 shell /usr/local/bin/k3s-uninstall.sh 查找
    • 如果安装的k3s,执行 k3s-uninstall.sh 和 rancher-system-agent-uninstall.sh ;如果安装的是rke2,则卸载rke2的命令,rke2卸载命令的查找方法和k3s的查找方法类似

卸载命令备份

这些命令是rancher安装集群的时候自动生成的,做个备份在这里,防止失联文章来源地址https://www.toymoban.com/news/detail-525902.html

k3s-uninstall.sh

#!/bin/sh
set -x
[ $(id -u) -eq 0 ] || exec sudo $0 $@

/usr/local/bin/k3s-killall.sh

if command -v systemctl; then
    systemctl disable k3s
    systemctl reset-failed k3s
    systemctl daemon-reload
fi
if command -v rc-update; then
    rc-update delete k3s default
fi

rm -f /etc/systemd/system/k3s.service
rm -f /etc/systemd/system/k3s.service.env

remove_uninstall() {
    rm -f /usr/local/bin/k3s-uninstall.sh
}
trap remove_uninstall EXIT

if (ls /etc/systemd/system/k3s*.service || ls /etc/init.d/k3s*) >/dev/null 2>&1; then
    set +x; echo 'Additional k3s services installed, skipping uninstall of k3s'; set -x
    exit
fi

for cmd in kubectl crictl ctr; do
    if [ -L /usr/local/bin/$cmd ]; then
        rm -f /usr/local/bin/$cmd
    fi
done

rm -rf /etc/rancher/k3s
rm -rf /run/k3s
rm -rf /run/flannel
rm -rf /var/lib/rancher/k3s
rm -rf /var/lib/kubelet
rm -f /usr/local/bin/k3s
rm -f /usr/local/bin/k3s-killall.sh

if type yum >/dev/null 2>&1; then
    yum remove -y k3s-selinux
    rm -f /etc/yum.repos.d/rancher-k3s-common*.repo
elif type rpm-ostree >/dev/null 2>&1; then
    rpm-ostree uninstall k3s-selinux
    rm -f /etc/yum.repos.d/rancher-k3s-common*.repo
elif type zypper >/dev/null 2>&1; then
    uninstall_cmd="zypper remove -y k3s-selinux"
    if [ "${TRANSACTIONAL_UPDATE=false}" != "true" ] && [ -x /usr/sbin/transactional-update ]; then
        uninstall_cmd="transactional-update --no-selfupdate -d run $uninstall_cmd"
    fi
    $uninstall_cmd
    rm -f /etc/zypp/repos.d/rancher-k3s-common*.repo
fi

rancher-system-agent-uninstall.sh

#!/bin/sh

if [ ! $(id -u) -eq 0 ]; then
  fatal "This script must be run as root."
fi

# Environment variables:
#   System Agent Variables
#   - CATTLE_AGENT_CONFIG_DIR (default: /etc/rancher/agent)
#   - CATTLE_AGENT_VAR_DIR (default: /var/lib/rancher/agent)
#   - CATTLE_AGENT_BIN_PREFIX (default: /usr/local)
#

# warn logs the given argument at warn log level.
warn() {
    echo "[WARN] " "$@" >&2
}

# check_target_mountpoint return success if the target directory is on a dedicated mount point
check_target_mountpoint() {
    mountpoint -q "${CATTLE_AGENT_BIN_PREFIX}"
}

# check_target_ro returns success if the target directory is read-only
check_target_ro() {
    touch "${CATTLE_AGENT_BIN_PREFIX}"/.r-sa-ro-test && rm -rf "${CATTLE_AGENT_BIN_PREFIX}"/.r-sa-ro-test
    test $? -ne 0
}

setup_env() {
    if [ -z "${CATTLE_AGENT_CONFIG_DIR}" ]; then
        CATTLE_AGENT_CONFIG_DIR=/etc/rancher/agent
    fi

    if [ -z "${CATTLE_AGENT_VAR_DIR}" ]; then
        CATTLE_AGENT_VAR_DIR=/var/lib/rancher/agent
    fi

    # --- resources are installed to /usr/local by default, except if /usr/local is on a separate partition or is
    # --- read-only in which case we go into /opt/rancher-system-agent. If variable isn't passed and this criteria is
    # --- true, assume that is what was done, since removing from /usr/local wouldn't be possible anyway.
    if [ -z "${CATTLE_AGENT_BIN_PREFIX}" ]; then
        CATTLE_AGENT_BIN_PREFIX="/usr/local"
        if check_target_mountpoint || check_target_ro; then
            CATTLE_AGENT_BIN_PREFIX="/opt/rancher-system-agent"
            warn "/usr/local is read-only or a mount point; checking ${CATTLE_AGENT_BIN_PREFIX}"
        fi
    fi

}

uninstall_stop_services() {
    if command -v systemctl >/dev/null 2>&1; then
        systemctl stop rancher-system-agent
    fi
}

uninstall_remove_self() {
    rm -f "${CATTLE_AGENT_BIN_PREFIX}/bin/rancher-system-agent-uninstall.sh"
}

uninstall_disable_services()
{
    if command -v systemctl >/dev/null 2>&1; then
        systemctl disable rancher-system-agent || true
        systemctl reset-failed rancher-system-agent || true
        systemctl daemon-reload
    fi
}

uninstall_remove_files() {
    rm -f /etc/systemd/system/rancher-system-agent.service
    rm -f /etc/systemd/system/rancher-system-agent.env
    rm -rf ${CATTLE_AGENT_VAR_DIR}
    rm -rf ${CATTLE_AGENT_CONFIG_DIR}
    rm -f "${CATTLE_AGENT_BIN_PREFIX}/bin/rancher-system-agent"
}

setup_env
uninstall_stop_services
trap uninstall_remove_self EXIT
uninstall_disable_services
uninstall_remove_files

到了这里,关于基于rancher搭建k8s的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 3.3.k8s搭建-rancher RKE2

    目录 RKE2介绍 k8s集群搭建 搭建k8s集群 下载离线包 部署rke2-server 部署rke2-agent 部署helm 部署rancher RKE2,也称为 RKE Government,是 Rancher 的下一代 Kubernetes 发行版。 官网地址:Introduction | RKE2 k8s版本为v1.28.3+rke2r2,runtime为containerd,使用rke2进行部署。 下载离线包 官网下载地址:h

    2024年04月11日
    浏览(29)
  • 在k8s中快速搭建基于Prometheus监控系统

    公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享 K8s本身不包含内置的监控工具,所以市场上有不少这样监控工具来填补这一空白,但是没有一个监控工具有prometheus全家桶使用率高,因为它由 CNCF维护,已经成为了监控 k8s 集群的事实上的行

    2024年02月04日
    浏览(33)
  • k8s学习(RKE+k8s+rancher2.x)成长系列之简配版环境搭建(三)

    3.19.切换RKE用户,并做免密登录(三台机器相互免密) 3.20.搭建RKE集群 为了方便理解,我们把通RKE部署的Kubernetes集群称为“RKE集群”,RKE集群包括Rancher在Windows节点或其他现有自定义节点上启动的集群,以及Rancher在Azure、Digital Ocean、EC2、阿里云或vSphere等上使用新节点启动的

    2024年02月20日
    浏览(31)
  • k8s学习(RKE+k8s+rancher2.x)成长系列之简配版环境搭建(四)之Helm及cert-manager安装

    注意:证书管理器需要与k8s集群版本兼容,对应关系:https://cert-manager.io/docs/installation/supported-releases/?spm=a2c4g.11186623.0.0.32be254d69N1yJ

    2024年02月22日
    浏览(31)
  • k8s简介及虚拟机快速搭建k8s集群

    1.1、部署方式的变迁 传统部署时代: 在物理服务器上运行应用程序 无法为应用程序定义资源边界 导致资源分配问题 例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况, 结果可能导致其他应用程序的性能下降。 一种解决方案是

    2024年02月12日
    浏览(42)
  • 快速搭建Kubernetes (K8S)平台

    kubernetes是Google 2014年创建并管理,是Google 10多年大规模容器管理技术Borg的开源版本。它是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。 通过Kubernetes你可以:     快速部署应用     快速扩展应用     无缝对接新

    2024年02月02日
    浏览(33)
  • 快速搭建k8s集群,使用kubekey搭建简单搭建

    1. 安装环境依赖 2. 下载KubeKey工具,下载好后就会出现 kk 这个可执行文件 3. 使用KubeKey生成一个k8s集群启动模板k8s.yaml,编辑好账号密码后保存 模板如下:  需要调整地方: 4.  执行刚才的文件 此时界面会安装下载各种组件并安装,大概等待5-10分钟即可完成安装 6. 安装完

    2024年02月09日
    浏览(41)
  • k8s简介、虚拟机快速搭建k8s集群、集群管理方式及K8S工作原理和组件介绍

    1.1、部署方式的变迁 传统部署时代: 在物理服务器上运行应用程序 无法为应用程序定义资源边界 导致资源分配问题 例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况, 结果可能导致其他应用程序的性能下降。 一种解决方案是

    2024年02月12日
    浏览(45)
  • 【K8S 云原生】K8S的图形化工具——Rancher

    目录 一、rancher概述 1、rancher概念 2、rancher和K8S的区别: 二、实验 1、安装部署 2、给集群添加监控: 3、创建命名空间: 4、创建deployment: 5、创建service: 6、创建ingress: 7、创建hpa 8、创建PVC 1、rancher概念 rancher实用一个开源的企业级多集群的K8S管理平台 2、rancher和K8S的区别

    2024年01月25日
    浏览(35)
  • Rancher管理K8S

    Rancher是一个开源的企业级多集群Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理,以确保集群的安全性,加速企业数字化转型。Rancher 1.0版本在2016年就已发布,时至今日,Rancher已经成长为企业在生产环境中运行容器和Kubernetes的首要选择。 本文

    2024年02月12日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包