rancher server 单节点部署/K8S高可用部署

环境说明:

#  操作系统:centos7
#  docker版本:19.03.5
# rancher版本: latest
#  rancher server 节点IP :192.168.2.175
# rancher agent节点IP: 192.168.2.175,192.168.2.176,192.168.2.177,192.168.2.185,192.168.2.187
# K8S master 节点IP:192.168.2.176,192.168.2.177,192.168.2.185
# K8S worker节点IP: 192.168.2.175,192.168.2.176,192.168.2.177,192.168.2.185,192.168.2.187
# K8S etcd 节点IP:192.168.2.176,192.168.2.177,192.168.2.185

部署准备:

# 操作在所有节点进行
# 修改内核参数:
关闭swap
 vim /etc/sysctl.conf
 vm.swappiness=0
 net.ipv4.ip_forward = 1
 net.bridge.bridge-nf-call-ip6tables = 1
 net.bridge.bridge-nf-call-iptables = 1
 sysctl -p
 临时生效
 swapoff -a && sysctl -w vm.swappiness=0
 # 修改 fstab 不在挂载 swap
 vi /etc/fstab
# /dev/mapper/centos-swap swap                    swap    defaults        0 0
# 安装docker
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 添加docker配置
mkdir -p /etc/docker
vim /etc/docker/daemon.json
{
    "max-concurrent-downloads": 20,
    "data-root": "/apps/docker/data",
    "exec-root": "/apps/docker/root",
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
    "log-driver": "json-file",
    "bridge": "docker0",
    "oom-score-adjust": -1000,
    "debug": false,
    "log-opts": {
        "max-size": "100M",
        "max-file": "10"
    },
    "default-ulimits": {
        "nofile": {
            "Name": "nofile",
            "Hard": 1024000,
            "Soft": 1024000
        },
        "nproc": {
            "Name": "nproc",
            "Hard": 1024000,
            "Soft": 1024000
        },
       "core": {
            "Name": "core",
            "Hard": -1,
            "Soft": -1
      }

    }
}

# 安装依赖
 yum install -y   yum-utils  ipvsadm  telnet  wget  net-tools  conntrack  ipset  jq  iptables  curl  sysstat  libseccomp  socat  nfs-utils  fuse  fuse-devel
# 安装docker依赖
 yum install -y    python-pip python-devel yum-utils device-mapper-persistent-data lvm2
 # 安装docker
yum install -y docker-ce
# reload service 配置
 systemctl daemon-reload
# 重启docker
 systemctl restart docker
# 设置开机启动
systemctl enable docker

部署rancher server

# 操作IP: 192.168.2.175
docker run -d --restart=unless-stopped   -p 80:80 -p 443:443   rancher/rancher:latest
# 等待镜像拉取完成启动好容器
打开浏览器输入:192.168.2.175 浏览器会自动跳转到https选择 继续前往192.168.2.175(不安全)

设置 rancher server


设置好密码单击继续

单击保存url

部署K8S 集群


单击全局 选择添加集群


选择自定义

根据自己需求配置集群名集群参数

选择编辑yaml 可以配置一些集群参数

配置 kube-proxy 数据转发模式 这里我修改为IPVS 模式当然如果默认是iptables 配置完成选择下一步

启动 rancher agent

# 在192.168.2.176,192.168.2.177,192.168.2.185 节点运行
docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.5 --server https://192.168.2.175 --token 8ps9xfssqz6vxbd6ltclztfvfk2k7794vnj42gpg94kjd82782jjlv --ca-checksum c8e7cce16152862434f78402031590b51a3975ec3a43a7d2c4660e05358eefd2 --etcd --controlplane --worker

# 在 192.168.2.175,192.168.2.187 运行
docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.5 --server https://192.168.2.175 --token 8ps9xfssqz6vxbd6ltclztfvfk2k7794vnj42gpg94kjd82782jjlv --ca-checksum c8e7cce16152862434f78402031590b51a3975ec3a43a7d2c4660e05358eefd2 --worker


所有节点添加完成 选择完成按钮


等待集群部署完成


集群已经正常

部署监控


部署监控前

监控部署完成

远程操作K8S 集群配置

选择 kubeconfig 单击打开

选择复制到剪贴板然后选择关闭

打开文本编辑器我使用的Notepad++

另存为 config 文件

kubectl 使用 config

# win10 on linux
# 文件路径根据自己配置文件修改 你也可以放到默认路径 ~/.kube/config 这样就不用指定kubeconfig kubectl 默认使用
 export kubeconfig=/mnt/g/work/rke/config
# 查看启动所有POD
kubectl --kubeconfig=$kubeconfig get pod -A -o wide
[email protected]:~# kubectl --kubeconfig=$kubeconfig get pod -A -o wide
NAMESPACE           NAME                                                       READY   STATUS             RESTARTS   AGE    IP              NODE    NOMINATED NODE   READINESS GATES
cattle-prometheus   exporter-kube-state-cluster-monitoring-6db64f7d4b-hf6gp    1/1     Running            0          125m   10.42.3.4       2-187   <none>           <none>
cattle-prometheus   exporter-node-cluster-monitoring-b9q4k                     1/1     Running            0          125m   192.168.2.175   2-175   <none>           <none>
cattle-prometheus   exporter-node-cluster-monitoring-d7v9w                     1/1     Running            0          125m   192.168.2.187   2-187   <none>           <none>
cattle-prometheus   exporter-node-cluster-monitoring-f686h                     1/1     Running            0          125m   192.168.2.177   2-177   <none>           <none>
cattle-prometheus   exporter-node-cluster-monitoring-t9hbx                     1/1     Running            0          125m   192.168.2.176   2-176   <none>           <none>
cattle-prometheus   exporter-node-cluster-monitoring-tw9n7                     1/1     Running            0          125m   192.168.2.185   2-185   <none>           <none>
cattle-prometheus   grafana-cluster-monitoring-65cbc8749-xddfd                 2/2     Running            0          125m   10.42.3.3       2-187   <none>           <none>
cattle-prometheus   prometheus-cluster-monitoring-0                            5/5     Running            1          125m   10.42.2.2       2-175   <none>           <none>
cattle-prometheus   prometheus-operator-monitoring-operator-5b66559965-4lkvv   1/1     Running            0          125m   10.42.3.2       2-187   <none>           <none>
cattle-system       cattle-cluster-agent-748d9f6bf6-zgk4x                      1/1     Running            0          132m   10.42.0.6       2-176   <none>           <none>
cattle-system       cattle-node-agent-f2szj                                    1/1     Running            0          128m   192.168.2.185   2-185   <none>           <none>
cattle-system       cattle-node-agent-h2hgv                                    1/1     Running            0          130m   192.168.2.177   2-177   <none>           <none>
cattle-system       cattle-node-agent-p2t72                                    1/1     Running            0          129m   192.168.2.187   2-187   <none>           <none>
cattle-system       cattle-node-agent-wnqg5                                    1/1     Running            0          132m   192.168.2.176   2-176   <none>           <none>
cattle-system       cattle-node-agent-zsvvt                                    1/1     Running            0          129m   192.168.2.175   2-175   <none>           <none>
cattle-system       kube-api-auth-ddnpp                                        1/1     Running            0          130m   192.168.2.177   2-177   <none>           <none>
cattle-system       kube-api-auth-h9mtw                                        1/1     Running            0          132m   192.168.2.176   2-176   <none>           <none>
cattle-system       kube-api-auth-wbz96                                        1/1     Running            0          127m   192.168.2.185   2-185   <none>           <none>
ingress-nginx       default-http-backend-67cf578fc4-tn4jk                      1/1     Running            0          132m   10.42.0.5       2-176   <none>           <none>
ingress-nginx       nginx-ingress-controller-7dr8g                             0/1     CrashLoopBackOff   30         129m   192.168.2.175   2-175   <none>           <none>
ingress-nginx       nginx-ingress-controller-gcwhl                             1/1     Running            0          129m   192.168.2.187   2-187   <none>           <none>
ingress-nginx       nginx-ingress-controller-hxmpb                             1/1     Running            0          130m   192.168.2.177   2-177   <none>           <none>
ingress-nginx       nginx-ingress-controller-msbw7                             1/1     Running            0          127m   192.168.2.185   2-185   <none>           <none>
ingress-nginx       nginx-ingress-controller-nlhsl                             1/1     Running            0          132m   192.168.2.176   2-176   <none>           <none>
kube-system         coredns-7c5566588d-4ng4f                                   1/1     Running            0          133m   10.42.0.2       2-176   <none>           <none>
kube-system         coredns-7c5566588d-q695x                                   1/1     Running            0          130m   10.42.1.2       2-177   <none>           <none>
kube-system         coredns-autoscaler-65bfc8d47d-gnns8                        1/1     Running            0          133m   10.42.0.3       2-176   <none>           <none>
kube-system         kube-flannel-cz6kh                                         2/2     Running            1          130m   192.168.2.177   2-177   <none>           <none>
kube-system         kube-flannel-dtslx                                         2/2     Running            2          129m   192.168.2.187   2-187   <none>           <none>
kube-system         kube-flannel-j7lrd                                         2/2     Running            0          128m   192.168.2.185   2-185   <none>           <none>
kube-system         kube-flannel-jm6v8                                         2/2     Running            0          133m   192.168.2.176   2-176   <none>           <none>
kube-system         kube-flannel-n8f82                                         2/2     Running            2          129m   192.168.2.175   2-175   <none>           <none>
kube-system         metrics-server-6b55c64f86-rxjjt                            1/1     Running            0          133m   10.42.0.4       2-176   <none>           <none>
kube-system         rke-coredns-addon-deploy-job-2c5l2                         0/1     Completed          0          133m   192.168.2.176   2-176   <none>           <none>
kube-system         rke-ingress-controller-deploy-job-5scd5                    0/1     Completed          0          132m   192.168.2.176   2-176   <none>           <none>
kube-system         rke-metrics-addon-deploy-job-7dkc6                         0/1     Completed          0          133m   192.168.2.176   2-176   <none>           <none>
kube-system         rke-network-plugin-deploy-job-2qxj5                        0/1     Completed          0          133m   192.168.2.176   2-176   <none>           <none>
# 查看K8S 集群状态
[email protected]:~# kubectl --kubeconfig=$kubeconfig get cs
NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-2               Healthy   {"health":"true"}
etcd-1               Healthy   {"health":"true"}
etcd-0               Healthy   {"health":"true"}
# 查看所有node
[email protected]:~# kubectl --kubeconfig=$kubeconfig get node -o wide
NAME    STATUS   ROLES                      AGE    VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION                CONTAINER-RUNTIME
2-175   Ready    worker                     131m   v1.17.2   192.168.2.175   <none>        CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5
2-176   Ready    controlplane,etcd,worker   135m   v1.17.2   192.168.2.176   <none>        CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5
2-177   Ready    controlplane,etcd,worker   132m   v1.17.2   192.168.2.177   <none>        CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5
2-185   Ready    controlplane,etcd,worker   129m   v1.17.2   192.168.2.185   <none>        CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5
2-187   Ready    worker                     131m   v1.17.2   192.168.2.187   <none>        CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5

最后说明:

# 由于192.168.2.175 部署rancher server 占用80 443 端口所以 nginx-ingress-controller 部署不会成功
你可以修改nginx-ingress-controller 让它不部署到 rancher server
k8s master 单节点部署请选择一个节点部署时选择 controlplane etcd 等

原文地址:https://blog.51cto.com/juestnow/2479524

时间: 2024-10-10 13:42:38

rancher server 单节点部署/K8S高可用部署的相关文章

k8s高可用环境部署-1.17.3版本

准备 在开始部署 k8s 高可用集群时,请先参考k8s高可用环境部署系统准备 操作系统兼容性 环境说明 集群部署前系统环境装备,请参考k8s高可用环境部署系统准备.md 本次高可用集群基本参照官网步骤进行部署,官网给出了两种拓扑结构:堆叠control plane node和external etcd node,本文基于第一种拓扑结构进行部署,使用Keepalived + HAProxy搭建高可用Load balancer,完整的拓扑图如下: 单个mastre节点将部署keepalived.ha

Exchange Server 2013 DAG高可用部署(一)-前期准备

微软Exchange邮件服务器想必在当今这个信息产业发达的社会,大家都不陌生.我们的生活和工作现在已经离不开电子邮件,作为企业信息化的IT人员,如何给大家带来更高更好的邮件服务,这个应该是我们着重关注的地方.今天,通过我的一个项目实施,给大家分享一下Exchange Server 2013 的高可用部署.此次项目实施结构不复杂,但是架构很典型,具有很高的代表性,希望能够帮助到大家.关于产品介绍这些就不吹给大家听了,相信有很多资料都可以查到,今天直接给大家分享实实在在的干货和我自己总结的一些部署中

Lync Server 2013 部署 _ 前端中添加第二台Server&DNS轮询实现高可用

这一章介绍如何向Lync Server前端池中添加Lync服务器 Lync Server前端高可用实现方法三种,其实微软官网的方法只列出了两种,并且网络上的文章很多都强调了无法使用Windows自带的网络负载平衡进行高可用配置 DNS轮询,可分摊Lync Server的网络访问流量,这章节会介绍DNS轮询实现前端高可用 硬件负载平衡 Windows组件网络负载平衡,这个功能官网没有指出可以使用,并且网络上很多文章都说网络负载平衡这个组件不支持Lync Server前端高可用,我们将会通过Wind

Exchange Server 2013 DAG高可用部署(七)-DAG配置(下)

接上文 25. 添加数据库副本 我们在第17步已经描述了如何删除默认邮箱数据库和新建数据库,且DAG已经建好,DAG网络也已配置,接下来我们就来添加邮箱数据库的副本(以下截图仅以一个数据库为例) 在ECP中,选择"服务器"-"数据库",然后选中一个邮箱数据库点击"添加数据库副本" 我们可以看到这个数据库本身承载在EMBX-001服务器上,所以我们对它再添加一个指定的邮箱服务器EMBX-002,使得这个数据库在两台MBX上都有完全相同的数据文件副本

Exchange Server 2013 DAG高可用部署(六)-DAG配置(上)

完成了之前文章中所提到的邮件服务器的其他配置之后,理论上,新建了邮箱用户之后,已经可以开始正常的收发邮件了.但是我们此次系列的重心是DAG的高可用部署,所以下面我们就来详细的看看DAG的配置步骤. 22. 配置见证服务器 首先将Exchange Trusted Subsystem 用户组加入到Administrators组中,已确保见证服务器的基础功能的访问权限 然后创建一条DAG的主机A记录,分配一个同网段IP地址 然后在AD中创建一个名为DAG的计算机并禁用 使用AD工具的高级功能 在DAG

Redis高可用部署及监控

Redis高可用部署及监控 目录                        一.Redis Sentinel简介 二.硬件需求 三.拓扑结构 1.单M-S结构 2.双M-S结构 3.优劣对比 四.配置部署 1.Redis配置 2.Redis Sentinel配置 3.启动服务 4.故障模拟检测 五.备份恢复 1.备份策略 2.灾难恢复 六.运维监控 1.安全监控 2.性能监控   一.           Redis Sentinel简介   Redis Sentinel是redis自带的集

利用NLB群集实现WEB站点的高可用部署

利用NLB群集实现WEB站点的高可用部署 前面的博文中和各位博友聊了如何搭建一个WEB站点,那么今天就和大家聊聊如何实现WEB站点的高可用性. 在本文中我们利用NLB来为大家讲解如何实现WEB站点的高可用: NLB简介: 网络负载平衡群集(简称:NLB),起作用时防止单一的节点故障,其部署至少需要两台服务器,NLB的作用就是当群集中的某个节点出现故障或者停止工作是,其运行服务会自动切换到群集的另一台主机,当然和我们其他群集一样,当来访流量过多的时候NLB群集会自动实现网络负载,防止负载不均,从而

部署keepalived高可用服务

keepalived服务概念说明 keepalived软件能干什么?Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能 Keepalived软件主要是通过VRRP协议实现高可用功能的. VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写, VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时, 整个网络可以不间断地

第2节 Spark集群安装:1 - 3;第3节 Spark HA高可用部署:1 - 2

三. Spark集群安装 3.1 下载spark安装包 下载地址spark官网:http://spark.apache.org/downloads.html 这里我们使用 spark-2.1.3-bin-hadoop2.7版本. 3.2 规划安装目录 /export/servers 3.3 解压安装包 tar -zxvf spark-2.1.3-bin-hadoop2.7.tgz 3.4 重命名目录 mv spark-2.1.3-bin-hadoop2.7 spark 3.5 修改配置文件 配置