• sealos 离线安装k8s


    目录

    1.修改主机名

    2.添加 主机名与IP地址解析

    3.升级服务器内核,时间同步,关闭防火墙,重启服务器

    4.sealos 安装

    5.离线环境安装,离线环境只需要提前导入镜像

    5.1 加载离线包部署

    6.kubernetes集群可用性验证

    7.扩展安装

    8. sealos 版本3.3-基本命令


    1.修改主机名

    1. hostnamectl set-hostname k8s-master01
    2. hostnamectl set-hostname k8s-master02
    3. hostnamectl set-hostname k8s-master03
    4. hostnamectl set-hostname k8s-worker01
    5. hostnamectl set-hostname k8s-worker02
    6. ###

    2.添加 主机名与IP地址解析


     

    1. cat > /etc/hosts <<EOF
    2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    4. 192.168.0.2 k8s-master01
    5. 192.168.0.3 k8s-master02
    6. 192.168.0.4 k8s-master03
    7. 192.168.0.5 k8s-worker01
    8. 192.168.0.6 k8s-worker02
    9. EOF

    3.升级服务器内核,时间同步,关闭防火墙,重启服务器

    1. #sudo hostnamectl set-hostname k8s-m01
    2. #添加访问互联路由
    3. cat > /etc/resolv.conf <<EOF
    4. nameserver 8.8.8.8
    5. nameserver 114.114.114.114
    6. nameserver 223.5.5.5
    7. EOF
    8. cat /etc/resolv.conf
    9. # ssh连接Linux比较慢
    10. #sed -i "s|#UseDNS yes|UseDNS no|" /etc/ssh/sshd_config
    11. #sed -i "s|GSSAPIAuthentication yes|GSSAPIAuthentication no|" /etc/ssh/sshd_config
    12. #设置为阿里云yum源
    13. rm -rf /etc/yum.repos.d/bak && mkdir -p /etc/yum.repos.d/bak && mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
    14. curl -o /etc/yum.repos.d/CentOS-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    15. yum clean all && yum makecache
    16. cd /etc/yum.repos.d
    17. #安装依赖包
    18. yum -y install sshpass wget conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git lrzsz unzip gcc telnet
    19. echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1'>/var/spool/cron/root && crontab -l
    20. #设置防火墙为 Iptables 并设置空规则
    21. systemctl stop firewalld && systemctl disable firewalld
    22. yum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save
    23. #关闭 SELINUX
    24. swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
    25. setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
    26. #调整内核参数,对于 K8S
    27. cat > /etc/sysctl.d/kubernetes.conf <<EOF
    28. net.bridge.bridge-nf-call-iptables=1
    29. net.bridge.bridge-nf-call-ip6tables=1
    30. net.ipv4.ip_forward=1
    31. #net.ipv4.tcp_tw_recycle=0
    32. vm.swappiness=0 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它
    33. vm.overcommit_memory=1 # 不检查物理内存是否够用
    34. vm.panic_on_oom=0 # 开启 OOM
    35. fs.inotify.max_user_instances=8192
    36. fs.inotify.max_user_watches=1048576
    37. fs.file-max=52706963
    38. fs.nr_open=52706963
    39. net.ipv6.conf.all.disable_ipv6=1
    40. net.netfilter.nf_conntrack_max=2310720
    41. EOF
    42. modprobe ip_vs_rr && modprobe br_netfilter && sysctl -p /etc/sysctl.d/kubernetes.conf
    43. #关闭系统不需要服务
    44. systemctl stop postfix && systemctl disable postfix
    45. #升级内核
    46. rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    47. yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
    48. yum --enablerepo="elrepo-kernel" -y install kernel-lt.x86_64
    49. awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
    50. grub2-set-default "CentOS Linux (5.4.204-1.el7.elrepo.x86_64) 7 (Core)"
    51. #grub2-set-default 'CentOS Linux (4.4.222-1.el7.elrepo.x86_64) 7 (Core)'
    52. #重启服务器
    53. reboot
    54. ################################

    4.sealos 安装

    1. #添加访问互联路由
    2. cat > /etc/resolv.conf <<EOF
    3. nameserver 8.8.8.8
    4. nameserver 114.114.114.114
    5. nameserver 223.5.5.5
    6. EOF
    7. cat /etc/resolv.conf
    8. #时间同步
    9. ntpdate ntp1.aliyun.com
    10. wget -c https://github.com/fanux/sealos/releases/download/v3.3.8/sealos && tar zxvf sealos*.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin

    5.离线环境安装,离线环境只需要提前导入镜像

    5.1 加载离线包部署,并部署

    链接:https://pan.baidu.com/s/1DPfGQWGv_MTgnHXYCjZ51Q?pwd=lh3f
    提取码:lh3f

    1. #时间同步
    2. ntpdate ntp1.aliyun.com
    3. #安装
    4. sealos init --passwd xxxxxx \
    5. --master 192.168.0.2 \
    6. --master 192.168.0.3 \
    7. --master 192.168.0.4 \
    8. --node 192.168.0.5 \
    9. --node 192.168.0.6 \
    10. --pkg-url /root/kube1.19.16.tar.gz \
    11. --version v1.19.16

    6.kubernetes集群可用性验证

    1. kubectl get nodes
    2. kubectl get pod -A
    3. #配置kubectl自动补全
    4. yum install -y bash-completion
    5. source /usr/share/bash-completion/bash_completion
    6. source <(kubectl completion bash)
    7. echo "source <(kubectl completion bash)" >> /etc/profile

    #去主节点 污点,看情况,自己选择

    1. [root@k8s-m01 ~]# kubectl get node
    2. NAME STATUS ROLES AGE VERSION
    3. k8s-m01 Ready control-plane,master 97m v1.20.0
    4. k8s-m02 Ready control-plane,master 89m v1.20.0
    5. k8s-m03 Ready control-plane,master 82m v1.20.0
    6. [root@k8s-m01 ~]# kubectl describe node |grep -i taints
    7. Taints: node-role.kubernetes.io/master:NoSchedule
    8. Taints: node-role.kubernetes.io/master:NoSchedule
    9. Taints: node-role.kubernetes.io/master:NoSchedule
    10. [root@k8s-m01 ~]# kubectl taint node k8s-m03 node-role.kubernetes.io/master:NoSchedule-

    7.扩展安装

    参数说明:

    参数名参数值示例参数说明
    --masters192.168.0.2kubernetes master 节点地址列表
    --nodes192.168.0.3kubernetes node 节点地址列表
    --ssh-passwd[your-ssh-passwd]ssh 登录密码
    kuberneteslabring/kubernetes:v1.19.0kubernetes 镜像

    8. sealos 版本3.3-基本命令

    1. #添加 node 节点:
    2. sealos join --node 192.168.1.63
    3. #添加master
    4. sealos join -master 192.168.1.61
    5. #删除 node 节点:
    6. sealos clean --node 192.168.64.21,192.168.64.19
    7. #删除 master 节点:
    8. sealos clean --master 192.168.1.61,192.168.1.62
    9. #重置集群
    10. sealos clean --all -f

  • 相关阅读:
    C++ Qt开发:Charts与数据库组件联动
    k8s的数据存储
    开源文档预览项目 kkFileView (9.9k star) ,快速入门
    21天学习第十二天-Map集合
    通信原理学习笔记6-2:数字解调——抽样和符号同步
    王者并发课-铂金3:一劳永逸-如何理解锁的多次可重入问题
    魔兽世界开服教程——魔兽世界服务器架设全攻略---战网+Ladder排行版
    Android JNI 引用分析
    Fragment中使用ViewPager滑动浏览页面
    MySQL 8 - 能够成功创建其他用户但无法修改 root 用户的密码
  • 原文地址:https://blog.csdn.net/qq_35583325/article/details/127799763