怎么使用rke安装k8s集群?这么清楚了,你还看不懂吗

安装rke前准备

1.禁用所有 woker 节点上的交换功能(Swap)

swapoff -a

2.检查下列模组是否存在-所有节点

for module in br_netfilter ip6_udp_tunnel ip_set ip_set_hash_ip ip_set_hash_net iptable_filter iptable_nat iptable_mangle iptable_raw nf_conntrack_netlink nf_conntrack nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat nf_nat_ipv4 nf_nat_masquerade_ipv4 nfnetlink udp_tunnel veth vxlan x_tables xt_addrtype xt_conntrack xt_comment xt_mark xt_multiport xt_nat xt_recent xt_set xt_statistic xt_tcpudp;
do
if ! lsmod | grep -q $module; then
echo “module $module is not present”;
fi;
done

3.修改sysctl配置-所有节点

vi /etc/sysctl.conf

加入如下

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

重新加载配置

sysctl -p /etc/sysctl.conf

4.创建用户-所有节点

创建用户

useradd rkeuser

给用户设置密码

passwd rkeuser

5.将用户添加到docker组

usermod -aG docker rkeuser

6.配置免密登录-master节点

生成公钥-私钥对

ssh-keygen -t rsa -C ‘dev@mldong.com’

将master节点的公钥复制到所有节点(包括自身)-使得新建的rkeuser用户

ssh-copy-id rkeuser@192.168.0.245
ssh-copy-id rkeuser@192.168.0.54
ssh-copy-id rkeuser@192.168.0.22

7.验证rkeuser是否有docker命令权限

登录

ssh rkeuser@192.168.0.245

执行docker命令

docker ps

8.端口要求

开放6443-KubeAPI和2379-etcd
9.SSH server配置

vi /etc/ssh/sshd_config

允许TCP转发

AllowTcpForwarding yes

安装介绍

1.下载rke二进制包-master

https://github.com/rancher/rke/releases

wget https://github.com/rancher/rke/releases/download/v1.2.4-rc9/rke_linux-amd64

2.修改文件名并执行运行权限

mv rke_linux-amd64 /usr/local/bin/rke
chmod +x /usr/local/bin/rke

3.查看版本号

[root@mldong01 download]# rke --version
rke version v1.2.4-rc9

4.使用rke生成配置文件

rke config --name cluster.yml

也可以使用下面的样例文件

nodes:

  • address: 192.168.0.245
    port: “22”
    internal_address: 192.168.0.245
    role:
  • controlplane
  • worker
  • etcd
    hostname_override: “mldong01”
    user: rkeuser
    ssh_key_path: ~/.ssh/id_rsa
    ssh_agent_auth: true
    labels: {}
    taints: []
  • address: 192.168.0.54
    port: “22”
    internal_address: 192.168.0.54
    role:
  • worker
    hostname_override: “mldong02”
    user: rkeuser
    ssh_key_path: ~/.ssh/id_rsa
    ssh_agent_auth: true
    labels: {}
    taints: []
  • address: 192.168.0.22
    port: “22”
    internal_address: 192.168.0.22
    role:
  • worker
    hostname_override: “mldong03”
    user: rkeuser
    ssh_key_path: ~/.ssh/id_rsa
    ssh_agent_auth: true
    labels: {}
    taints: []
    kubernetes_version: “v1.19.6-rancher1-1”
    cluster_name: “mldong-k8s”

主要参数说明:

nodes[].address:对外ip

nodes[].port:ssh端口号

nodes[].internal_address:内网ip

nodes[].role:节点角色,数组,三个选项[controlplane,worker,etcd]

nodes[].hostname_override:虚拟域名

nodes[].user:ssh用户名

nodes[].ssh_key_path:ssh私钥

nodes[].ssh_agent_auth:启用ssh认证

kubernetes_version:k8s版本,可以使用命令查看支持版本rke config --list-version --all

cluster_name:集群名称

5.开始执行安装

rke up --config cluster.yml

image

安装过程需要下载镜像,时间比较久,请耐心等待

image.png

6.安装成功后会生成相关文件

  • cluster.yml:RKE 集群的配置文件。
  • kube_config_cluster.yml:该集群的包含了获取该集群所有权限的认证凭据。
  • cluster.rkestate:Kubernetes 集群状态文件,包含了获取该集群所有权限的认证凭据,使用 RKE v0.2.0 时才会创建这个文件。

7.验证安装

复制kubeconfig文件

scp kube_config_cluster.yml ~/.kube/config

获取集群节点信息

[root@mldong01 download]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
mldong01 Ready controlplane,etcd,worker 3d16h v1.19.6
mldong02 Ready worker 3d16h v1.19.6
mldong03 Ready worker 3d16h v1.19.6

完全卸载rke

#!/bin/bash
#杀死所有正在运行的容器
docker stop $(docker ps -a -q)

#删除所有容器
docker rm -f $(docker ps -qa)

#删除所有容器卷
docker volume rm $(docker volume ls -q)

#卸载mount目录
for mount in $(mount | grep tmpfs | grep ‘/var/lib/kubelet’ | awk ‘{ print $3 }’) /var/lib/kubelet /var/lib/rancher; do umount $mount; done

#删除残留路径
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 \

#清理网络接口
network_interface=ls /sys/class/net
for net_inter in $network_interface;
do
if ! echo $net_inter | grep -qiE ‘lo|docker0|eth*|ens*’;then
ip link delete $net_inter
fi
done

#清理残留进程
port_list=‘80 443 6443 2376 2379 2380 8472 9099 10250 10254’

for port in $port_list
do
pid=netstat -atlnup|grep $port |awk '{print $7}'|awk -F '/' '{print $1}'|grep -v -|sort -rnk2|uniq
if [[ -n $pid ]];then
kill -9 $pid
fi
done

pro_pid=ps -ef |grep -v grep |grep kube|awk '{print $2}'

if [[ -n $pro_pid ]];then
kill -9 $pro_pid
fi
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

一线互联网大厂Java核心面试题库

image

正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
1)]

正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 29
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值