使用RKE部署kubernetes集群

一、基本环境准备

1.1 环境准备一

这里个人觉得可以和kubeadm的步骤一致,不过还是按照1.2配置的官方要求

1、关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

2、为iptables设置空规则

yum -y install iptables-services && systemctl start iptables && systemctl enable iptables
&& iptables -F && service iptables save

3、关闭SELINUX

swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

1.2 官方提供

1、创建一个新用户(之后将用来运行docker,尽量不要用root用户)

useradd lurious

2、将新创建的用户加入到docker组中,为了可以运行docker

usermod -aG docker lurious

3、关闭swap 分区

swapoff -a

4、执行以下的脚本

 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;doif ! lsmod | grep -q $module; thenecho "module $module is not present";fi;done

5、更改sysctl设置

vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
# 官方中要求的
net.bridge.bridge-nf-call-iptables = 1

6、开启6443端口(使用iptables)

以下语句执行一个就可以

# Open TCP/6443 for all
iptables -A INPUT -p tcp --dport 6443 -j ACCEPT
# Open TCP/6443 for one specific IP
iptables -A INPUT -p tcp -s your_ip_here --dport 6443 -j ACCEPT

7、开启6443端口(使用firewalld)

# Open TCP/6443 for all
firewall-cmd --zone=public --add-port=6443/tcp --permanent
firewall-cmd --reload# Open TCP/6443 for one specific IP
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4"source address="your_ip_here/32"port protocol="tcp" port="6443" accept'
firewall-cmd --reload

8、允许TCP

AllowTcpForwarding yes

9、设置SSH(在RKE所在的宿主机上执行)

一路空格就行

ssh-keygen

10、将所生成的密钥的公钥分发到各个节点

ssh-copy-id lurious@192.168.109.10
ssh-copy-id lurious@192.168.109.11
ssh-copy-id lurious@192.168.109.12

二、使用RKE(Rancher kubernetes engine)部署Kubernetes

2.1、查看版本

./rke version

2.2 、rke配置文件

# If you intened to deploy Kubernetes in an air-gapped environment,
# please consult the documentation on how to configure custom RKE images.
# 配置harbor仓库信息
private_registries:- url: harbor.lurious.com:8443user: adminpassword: "********"
nodes:
# 节点ip地址
- address: 192.168.109.10
# 远程连接的端口port: "22"
# 主机间的通信地址internal_address: ""
# 该节点 配制的角色,这里赋予三种角色。role:- controlplane- worker- etcd
# 节点名称hostname_override: newer1
# 远程连接的用户user: lurious
# docker socket 的配置 默认为 /var/run/docker.sockdocker_socket: /var/run/docker.sockssh_key: ""
# ssh的密钥地址,即 最开始 配置 ssh-keygen 和 ssh-copy-id 两个命令配置的ssh_key_path: ~/.ssh/id_rsa
# ssh 的证书  这里没有配置私钥 空着就可以ssh_cert: ""ssh_cert_path: ""
#  节点的 labelslabels: {}
# 给节点设置污点,做调度策略用taints: []
- address: 192.168.109.11port: "22"internal_address: ""role:- controlplane- worker- etcdhostname_override: newer2user: luriousdocker_socket: /var/run/docker.sockssh_key: ""ssh_key_path: ~/.ssh/id_rsassh_cert: ""ssh_cert_path: ""labels: {}taints: []
services:etcd:image: ""extra_args: {}extra_binds: []extra_env: []win_extra_args: {}win_extra_binds: []win_extra_env: []external_urls: []ca_cert: ""cert: ""key: ""path: ""uid: 0gid: 0snapshot: nullretention: ""creation: ""backup_config: nullkube-api:image: ""extra_args: {}extra_binds: []extra_env: []win_extra_args: {}win_extra_binds: []win_extra_env: []
#  在kubernetes上创建任何服务的ip范围
#  必须和 kube-controller 的地址范围保持一致service_cluster_ip_range: 10.43.0.0/16
#  暴露在集群外的 NodePort 的端口范围 如30000-32767service_node_port_range: ""pod_security_policy: false
#  docker镜像拉去策略always_pull_images: falsesecrets_encryption_config: nullaudit_log: nulladmission_configuration: nullevent_rate_limit: nullkube-controller:image: ""extra_args: {}extra_binds: []extra_env: []win_extra_args: {}win_extra_binds: []win_extra_env: []cluster_cidr: 10.42.0.0/16service_cluster_ip_range: 10.43.0.0/16scheduler:image: ""extra_args: {}extra_binds: []extra_env: []win_extra_args: {}win_extra_binds: []win_extra_env: []kubelet:image: ""extra_args: {}extra_binds: []extra_env: []win_extra_args: {}win_extra_binds: []win_extra_env: []cluster_domain: cluster.localinfra_container_image: ""cluster_dns_server: 10.43.0.10fail_swap_on: falsegenerate_serving_certificate: falsekubeproxy:image: ""extra_args: {}extra_binds: []extra_env: []win_extra_args: {}win_extra_binds: []win_extra_env: []
# 使用的网络插件 这里默认为 flannel插件
network:plugin: flanneloptions: {}mtu: 0node_selector: {}update_strategy: null
authentication:strategy: x509sans: []webhook: null
addons: ""
addons_include: []
system_images:etcd: rancher/coreos-etcd:v3.4.13-rancher1alpine: rancher/rke-tools:v0.1.65nginx_proxy: rancher/rke-tools:v0.1.65cert_downloader: rancher/rke-tools:v0.1.65kubernetes_services_sidecar: rancher/rke-tools:v0.1.65kubedns: rancher/k8s-dns-kube-dns:1.15.10dnsmasq: rancher/k8s-dns-dnsmasq-nanny:1.15.10kubedns_sidecar: rancher/k8s-dns-sidecar:1.15.10kubedns_autoscaler: rancher/cluster-proportional-autoscaler:1.8.1coredns: rancher/coredns-coredns:1.7.0coredns_autoscaler: rancher/cluster-proportional-autoscaler:1.8.1nodelocal: rancher/k8s-dns-node-cache:1.15.13kubernetes: rancher/hyperkube:v1.19.3-rancher1flannel: rancher/coreos-flannel:v0.13.0-rancher1flannel_cni: rancher/flannel-cni:v0.3.0-rancher6calico_node: rancher/calico-node:v3.16.1calico_cni: rancher/calico-cni:v3.16.1calico_controllers: rancher/calico-kube-controllers:v3.16.1calico_ctl: rancher/calico-ctl:v3.16.1calico_flexvol: rancher/calico-pod2daemon-flexvol:v3.16.1canal_node: rancher/calico-node:v3.16.1canal_cni: rancher/calico-cni:v3.16.1canal_controllers: rancher/calico-kube-controllers:v3.16.1canal_flannel: rancher/coreos-flannel:v0.13.0-rancher1canal_flexvol: rancher/calico-pod2daemon-flexvol:v3.16.1weave_node: weaveworks/weave-kube:2.7.0weave_cni: weaveworks/weave-npc:2.7.0pod_infra_container: rancher/pause:3.2ingress: rancher/nginx-ingress-controller:nginx-0.35.0-rancher1ingress_backend: rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1metrics_server: rancher/metrics-server:v0.3.6windows_pod_infra_container: rancher/kubelet-pause:v0.1.4
ssh_key_path: ~/.ssh/id_rsa
ssh_cert_path: ""
ssh_agent_auth: false
# 开启rbac认证策略
authorization:mode: rbacoptions: {}
ignore_docker_version: null
kubernetes_version: ""
private_registries: []
ingress:provider: ""options: {}node_selector: {}extra_args: {}dns_policy: ""extra_envs: []extra_volumes: []extra_volume_mounts: []update_strategy: null
# 集群名称
cluster_name: "cluster-newer"
# 云服务提供商
cloud_provider:name: ""
prefix_path: ""
win_prefix_path: ""
addon_job_timeout: 0
bastion_host:address: ""port: ""user: ""ssh_key: ""ssh_key_path: ""ssh_cert: ""ssh_cert_path: ""
monitoring:provider: ""options: {}node_selector: {}update_strategy: nullreplicas: null
restore:restore: falsesnapshot_name: ""
dns: null

2.3、开始安装

./rke up

RKE安装Kubernetes相关推荐

  1. RKE安装k8s及部署高可用rancher

    此博客,是根据 Rancher 官网文档,使用 RKE 测试部署最新发布版 Rancher v2.5.9 高可用集群的总结文档. 一 了解 Rancher Rancher 是为使用容器的公司打造的容器 ...

  2. RKE安装部署K8S集群、Rancher

    服务器准备:三台虚拟机(master:1,node:2:这里选用的阿里云ECS) OS hostname 内网IP Centos7 joker-master-1 172.27.31.149 Cento ...

  3. 使用Rancher的RKE部署Kubernetes要点

    简要说明: RKE (Rancher Kubernetes Engine)是RancherLabs提供的一个工具,可以在裸机.虚拟机.公私有云上快速安装Kubernetes集群.整个集群的部署只需要一 ...

  4. RKE部署Kubernetes集群

    安装docker 在各个节点建立自定义账户,使其可以用命令操作docker useradd <user_name> passwd <user_name> usermod -aG ...

  5. 使用rke安装高可用k8s集群

    文章目录 使用rke安装高可用k8s集群 rke 增加和移除节点 彻底清理rke节点 使用rke安装高可用k8s集群 服务器rke集群节点角色规划 用户 主机名 内网IP SSH端口 系统 rke 角 ...

  6. ubuntu多节点安装kubernetes

    在ubuntu上面多节点安装kubernetes,假设有两台机器 master:192.168.1.84 minion:192.168.1.83 You wil now need to configu ...

  7. CentOS 7.5 使用 yum 安装 Kubernetes 集群(二)

    一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能 ...

  8. kubernetes1.8.4 安装指南 -- 6. 安装kubernetes master

    接下来安装kubernetes master的3个核心组件,分别是apiserver, controller-manager, scheduler. mkdir -p /etc/kubernetes/ ...

  9. 使用vagrant 安装kubernetes 无法下载box源解决办法

    2019独角兽企业重金招聘Python工程师标准>>> ###使用vagrant 安装kubernetes 无法下载box源解决办法 如果你准备使用vagrant 搭建kuberne ...

最新文章

  1. 【学习笔记】树的计数,prufer(Prüfer)编码,Cayley公式及相应例题
  2. Python常见问题(7):Python图形用户接口 Graphic User Interface FAQ
  3. element ui表格点击整行选择_element-ui实现动态表头的表格问题汇总
  4. 姗姗来迟的Ubuntu版MX4,已经没了当年的初衷
  5. 懂AI值百万年薪?你不知道的开发者薪资榜单大盘点
  6. Node.js ES6模块化
  7. 修改手机屏幕刷新率_240Hz 超高刷新率,这手机屏幕比电竞专业屏还牛
  8. Widows Live Writer
  9. HTTP协议的响应协议(个人写笔记看不懂的地方可以和我交流)
  10. 【附PDF下载】2021年上半年信息系统项目管理师上午综合知识真题
  11. arm开发板上电设置静态ip_Tiny4412友善之臂ARM开发板静态IP设置(重启有效)
  12. 怎么利用pytorch训练好的模型测试单张图片
  13. linux tar源码,linux之tar命令备份
  14. 优漫动游平面设计思维思维训练法
  15. html网页如何在手机上观看,电脑的html怎么在手机观看
  16. 去公司面试,记录下的hadoop最新面试题
  17. Python基础刻意练习:魔方方法
  18. qq三国挂机云服务器,云服务器挂机QQ三国游戏的流程和实际操作概况记录
  19. 孤岛惊魂4服务器稳定吗,《孤岛惊魂5》PC性能综合测试 程序运行稳定、改进完爆前作...
  20. 如何替换掉apk中的配置

热门文章

  1. HTML5开发常见的7个框架,你知道几个?
  2. 计算机语言中脚本的意思,脚本程序是什么意思(mcgs脚本程序编写指南)
  3. 记2018年北理计算机夏令营+机试
  4. python爬取王者_Python爬取王者荣耀所有英雄以及高清大图
  5. p文件转m文件的方法
  6. Unity之手机重力感应(Input.acceleration)
  7. 逻辑控制电路中门的符号记录(便查)
  8. Nextcloud 多人共享
  9. abaqus回弹分析1
  10. PHP 2行代码完成 矩阵转换 数组维度转换