rke安装k8s

RKE是一款经过CNCF认证的开源Kubernetes发行版,可以在Docker容器内运行。它通过删除大部分主机依赖项,并为部署、升级和回滚提供一个稳定的路径,从而解决了Kubernetes最常见的安装复杂性问题。

准备工作

1、允许tcp转发

vim /etc/ssh/sshd_config 
AllowTcpForwarding yes

2、开放 2379、2380、6443、10250等端口

3、关闭iptables、firewalld等防火墙

4、如果安装了selinux请关闭

vim /etc/selinux/config
selinux=disabled

安装(不要使用root用户安装)

1、下载rke并重命名

mv rke_linux-amd64 rke

GitHub - rancher/rke: Rancher Kubernetes Engine (RKE), an extremely simple, lightning fast Kubernetes distribution that runs entirely within containers.2、将rke改为可执行文件并移动到/usr/local/bin

chmod +x rke
sudo mv rke /usr/local/bin/

3、注意不要安错版本,这里我选择rke版本为 v1.4.3,k8s版本为 v1.24.10-rancher4-1,如果选择v1.4.4默认k8s版本为v1.25,而目前最新版rancher不支持v1.25,如果后续想安装rancher的朋友们不要使用v1.4.4

rke --version #查看rke版本
rke config --list-version --all #查看支持的k8s版本

4、docker安装(注意请不要用snap安装,会有兼容性问题,目前默认docker版本兼容)

sudo apt update
sudo apt install docker.io 

5、将后续需要的k8s和docker用户加入docker组以便能够执行docker命令,我直接将默认用户ubuntu加入了docker组,此时应重新连接ssh以便ubuntu用户也能执行docker命令

usermod -aG docker ubuntu #将ubuntu添加到docker组中
docker ps #重新连接ssh后输入,查看是否普通用户具有docker执行权限

6、生成 cluster.yml文件,按照提示生成即可

rke config --name cluster.yml 

    生成部分代码如下:

nodes:
- address: 192.168.94.128
  port: "22"
  internal_address: ""
  role:
  - controlplane
  - worker
  - etcd
  hostname_override: ""
  user: lz
  docker_socket: /var/run/docker.sock
  ssh_key: ""
  ssh_key_path: ~/.ssh/id_rsa
  ssh_cert: ""
  ssh_cert_path: ""
  labels: {}
  taints: []
 
- address: 192.168.94.130
  port: "22"
  internal_address: ""
  role:
  - controlplane
  - worker
  - etcd
  hostname_override: ""
  user: lz
  docker_socket: /var/run/docker.sock
  ssh_key: ""
  ssh_key_path: ~/.ssh/id_rsa
  ssh_cert: ""
  ssh_cert_path: ""
  labels: {}
  taints: []
 
- address: 192.168.94.129
  port: "22"
  internal_address: ""
  role:
  - controlplane
  - worker
  - etcd
  hostname_override: ""
  user: lz
  docker_socket: /var/run/docker.sock
  ssh_key: ""
  ssh_key_path: ~/.ssh/id_rsa
  ssh_cert: ""
  ssh_cert_path: ""
  labels: {}
  taints: []

    请注意几个点:ssh Address建议写内网地址;公私钥对建议提前建好,并将公钥内容粘贴到 authorized_keys中;docker image 如果不想用默认k8s版本记得在第三步获取的支持版本中选择

7、初始化k8s集群

rke up #请在cluster.yml目录下执行该命令

常见报错

1、端口无法连接

解决方案:telnet如果不通请检查防火墙配置,包括云服务器的云端防火墙;

2、无法连接某台服务器

解决方案:检查要连接的服务器的authorized_keys中是否有cluster.yml中设置ssh_key对应的公钥

3、2379、2380问题

把所有节点上的docker0网络,flannel网络,calico网络删掉,停掉docker服务并重启服务器

ifconfig docker0 down
ip link delete docker0
systemctl stop docker.socket
systemctl stop docker.service
reboot

连接

k8s安装成功后,会生成kube_config_cluster.yml文件,该文件用于连接该k8s,可以选择输入kubectl命令时指定该文件或者直接将文件改为config,我是直接修改为config方便后续使用

mv ~/kube_config_cluster.yml ~/.kube/config

自行下载helm和kubectl,并放到/usr/local/bin目录下,同时给予可执行权限,并检查是否连接成功

kubectl get nodes #如下所示为成功
NAME       STATUS   ROLES                      AGE   VERSION
10.0.8.7   Ready    controlplane,etcd,worker   24h   v1.24.10
10.0.8.8   Ready    controlplane,etcd,worker   24h   v1.24.10
10.0.8.9   Ready    controlplane,etcd,worker   24h   v1.24.10

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值