rke2安装单节点k8s

打印 上一主题 下一主题

主题 943|帖子 943|积分 2829

环境
  1. cat /proc/version
复制代码
Linux version 3.10.0-957.21.3.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Tue Jun 18 16:35:19 UTC 2019
root@10.101.1.30 ~$ cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
  1. cat /etc/redhat-release
复制代码
CentOS Linux release 7.5.1804 (Core)
安装
  1. # 通过rke2安装k8s
  2. curl -sfL https://get.rke2.io | sh -
  3. # 开机启动rke2-server
  4. systemctl enable rke2-server.service
  5. # 启动rke2-server 启动有点慢,耐心等待即可
  6. systemctl start rke2-server.service
复制代码
查看rke2-server状态
  1. systemctl status rke2-server.service
复制代码
显示running表示启动成功,如下:
● rke2-server.service - Rancher Kubernetes Engine v2 (server)
Loaded: loaded (/usr/lib/systemd/system/rke2-server.service; disabled; vendor preset: disabled)
Active: active (running) since 三 2023-07-05 14:41:59 CST; 43s ago
检查 RKE2 是否正常运行
  1. /var/lib/rancher/rke2/bin/kubectl \
  2.         --kubeconfig /etc/rancher/rke2/rke2.yaml get nodes
复制代码
当输出以下结果, 状态为Ready时,表示k8s已经安装完毕
NAME    STATUS   ROLES                       AGE     VERSION
node2   Ready    control-plane,etcd,master   7m48s   v1.25.11+rke2r1
测试集群 Pod 的健康状况
  1. /var/lib/rancher/rke2/bin/kubectl \
  2.         --kubeconfig /etc/rancher/rke2/rke2.yaml get pods --all-namespaces
复制代码
拷贝脚本和k8s配置 (可选)

/etc/rancher/rke2/rke2.yaml 需要妥善保存,它包含了连接k8s的凭证.后续用kubectl操作k8s都要读取该文件
  1. cp /var/lib/rancher/rke2/bin/kubectl /usr/local/bin/kubectl
  2. cp /etc/rancher/rke2/rke2.yaml .kube/config
  3. # 拷贝脚本和配置之后,以上命令可以简化为 .前提是/usr/local/bin/已经添加到了环境变量中
  4. kubectl get nodes
  5. kubectl get pods --all-namespaces
复制代码
完全卸载
  1. [/code]rke2-uninstall.sh 内容如下
  2. [code]#!/bin/sh
  3. set -ex
  4. # make sure we run as root
  5. if [ ! $(id -u) -eq 0 ]; then
  6.     echo "$(basename "${0}"): must be run as root" >&2
  7.     exit 1
  8. fi
  9. # check_target_mountpoint return success if the target directory is on a dedicated mount point
  10. check_target_mountpoint() {
  11.     mountpoint -q "$1"
  12. }
  13. # check_target_ro returns success if the target directory is read-only
  14. check_target_ro() {
  15.     touch "$1"/.rke2-ro-test && rm -rf "$1"/.rke2-ro-test
  16.     test $? -ne 0
  17. }
  18. . /etc/os-release
  19. if [ -r /etc/redhat-release ] || [ -r /etc/centos-release ] || [ -r /etc/oracle-release ]; then
  20.     # If redhat/oracle family os is detected, double check whether installation mode is yum or tar.
  21.     # yum method assumes installation root under /usr
  22.     # tar method assumes installation root under /usr/local
  23.     if rpm -q rke2-common >/dev/null 2>&1; then
  24.         : "${INSTALL_RKE2_ROOT:="/usr"}"
  25.     else
  26.         : "${INSTALL_RKE2_ROOT:="/usr/local"}"
  27.     fi
  28. elif [ "${ID_LIKE%%[ ]*}" = "suse" ]; then
  29.     if rpm -q rke2-common >/dev/null 2>&1; then
  30.         : "${INSTALL_RKE2_ROOT:="/usr"}"
  31.         if [ -x /usr/sbin/transactional-update ]; then
  32.             transactional_update="transactional-update -c --no-selfupdate -d run"
  33.         fi
  34.     elif check_target_mountpoint "/usr/local" || check_target_ro "/usr/local"; then
  35.         # if /usr/local is mounted on a specific mount point or read-only then
  36.         # install we assume that installation happened in /opt/rke2
  37.         : "${INSTALL_RKE2_ROOT:="/opt/rke2"}"
  38.     else
  39.         : "${INSTALL_RKE2_ROOT:="/usr/local"}"
  40.     fi
  41. else
  42.     : "${INSTALL_RKE2_ROOT:="/usr/local"}"
  43. fi
  44. uninstall_killall()
  45. {
  46.     _killall="$(dirname "$0")/rke2-killall.sh"
  47.     if [ -e "${_killall}" ]; then
  48.       eval "${_killall}"
  49.     fi
  50. }
  51. uninstall_disable_services()
  52. {
  53.     if command -v systemctl >/dev/null 2>&1; then
  54.         systemctl disable rke2-server || true
  55.         systemctl disable rke2-agent || true
  56.         systemctl reset-failed rke2-server || true
  57.         systemctl reset-failed rke2-agent || true
  58.         systemctl daemon-reload
  59.     fi
  60. }
  61. uninstall_remove_files()
  62. {   
  63.    
  64.     if [ -r /etc/redhat-release ] || [ -r /etc/centos-release ] || [ -r /etc/oracle-release ]; then
  65.         yum remove -y "rke2-*"
  66.         rm -f /etc/yum.repos.d/rancher-rke2*.repo
  67.     fi
  68.     if [ "${ID_LIKE%%[ ]*}" = "suse" ]; then
  69.          if rpm -q rke2-common >/dev/null 2>&1; then
  70.             # rke2 rpm detected
  71.             uninstall_cmd="zypper remove -y rke2-server rke2-agent rke2-common rke2-selinux"
  72.             if [ "${TRANSACTIONAL_UPDATE=false}" != "true" ] && [ -x /usr/sbin/transactional-update ]; then
  73.                 uninstall_cmd="transactional-update -c --no-selfupdate -d run $uninstall_cmd"
  74.             fi
  75.             $uninstall_cmd
  76.             rm -f /etc/zypp/repos.d/rancher-rke2*.repo
  77.          fi
  78.     fi
  79.     $transactional_update find "${INSTALL_RKE2_ROOT}/lib/systemd/system" -name rke2-*.service -type f -delete
  80.     $transactional_update find "${INSTALL_RKE2_ROOT}/lib/systemd/system" -name rke2-*.env -type f -delete
  81.     find /etc/systemd/system -name rke2-*.service -type f -delete
  82.     $transactional_update rm -f "${INSTALL_RKE2_ROOT}/bin/rke2"
  83.     $transactional_update rm -f "${INSTALL_RKE2_ROOT}/bin/rke2-killall.sh"
  84.     $transactional_update rm -rf "${INSTALL_RKE2_ROOT}/share/rke2"
  85.     rm -rf /etc/rancher/rke2
  86.     rm -rf /etc/rancher/node
  87.     rm -d /etc/rancher || true
  88.     rm -rf /etc/cni
  89.     rm -rf /opt/cni/bin
  90.     rm -rf /var/lib/kubelet
  91.     rm -rf /var/lib/rancher/rke2
  92.     rm -d /var/lib/rancher || true
  93.     if type fapolicyd >/dev/null 2>&1; then
  94.         if [ -f /etc/fapolicyd/rules.d/80-rke2.rules ]; then
  95.             rm -f /etc/fapolicyd/rules.d/80-rke2.rules
  96.         fi
  97.         fagenrules --load
  98.         systemctl restart fapolicyd
  99.     fi
  100. }
  101. uninstall_remove_self()
  102. {
  103.     $transactional_update rm -f "${INSTALL_RKE2_ROOT}/bin/rke2-uninstall.sh"
  104. }
  105. uninstall_remove_policy()
  106. {
  107.     semodule -r rke2 || true
  108. }
  109. uninstall_killall
  110. trap uninstall_remove_self EXIT
  111. uninstall_disable_services
  112. uninstall_remove_files
  113. uninstall_remove_policy
  114. sudo rm -rf ~/.kube/
复制代码
参考

为 Rancher 设置高可用的 RKE2 Kubernetes 集群

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表