zoukankan      html  css  js  c++  java
  • 手把手搭建K3S+Rancher

    Kubernetes发展到现在,已经在很多正式的场景落地应用,可以说现阶段使用Kubernetes是比较靠谱也比较轻松的,本文就根据官方文档手把手开始部署Kubernetes+Rancher集群。

    架构
    Master—192.168.15.252
    Slave—192.168.15.251
    本地域名—zhou.rancher.com
    注意点:Master一定要有免密登录Slave权限!!!

    总体思路
    K3S部署Kubernetes集群,创建集群的https证书,Helm部署rancher,通过rancher的UI界面手动导入Kubernetes集群,使用Kubernetes集群。

    Kubernetes部署
    在rancher中文文档中推荐了一种更轻量的Kubernetes集群搭建方式:K3S,安装过程非常简单,只需要服务器能够访问互联网,执行相应的命令就可以了
    Master主机执行命令,执行完成后获取master主机的K3S_TOKEN用于slave(默认路径:/var/lib/rancher/k3s/server/node-token)

    curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn  INSTALL_K3S_EXEC="--docker" sh -s - server

    slave主机执行命令,加入K3S集群

    curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="--docker" K3S_URL=https://192.168.15.252:6443 K3S_TOKEN=K10bb35019b1669197e06f97b6c14bb3b3c7c7076cd20afe1f550d6793d02b9eed8::server:9599c8b3ffbbd38b7721207183cd6a62 sh -

    http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh是国内的加速地址,可以正常执行。
    执行完毕后,在master服务器上验证是否安装K3S集群成功。

    Https私有证书
    在rancher中文文档中提供了生成私有证书的方式,执行提供的脚本后,可以获得私有的证书,并需要把证书添加到集群中去
    创建证书的空间,并使用脚本生成pem文件

    kubectl create namespace cattle-system
    sh ./create_self-signed-cert.sh --ssl-domain=zhou.rancher.com --ssl-trusted-ip=192.168.15.251,192.168.15.252 --ssl-size=2048 --ssl-date=3650

    把生成的pem证书上传到集群中去

    kubectl -n cattle-system create secret generic tls-ca   --from-file=cacerts.pem=./cacerts.pem

    安装rancher
    安装rancher之前还需要安装helm工具,解压官网下载的文件压缩包后,拷贝二进制文件到/usr/local/bin/目录,验证是否安装成功

    添加rancher的国内的安装模块,并更新helm

    helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/stable
    helm repo update

    执行helm安装rancher命令

    helm install rancher rancher-stable/rancher   --namespace cattle-system   --set hostname=zhou.rancher.com   --set ingress.tls.source=secret   --set privateCA=true

    验证rancher是否安装成功

    补充
    由于是在内部搭建的rancher,只能通过修改主机的host来指定域名,还需要额外的两个步骤
    添加hostname的解析

    kubectl -n cattle-system 
    patch deployments cattle-cluster-agent --patch '{
        "spec": {
            "template": {
                "spec": {
                    "hostAliases": [
                        {
                            "hostnames":
                            [
                                "zhou.rancher.com"
                            ],
                                "ip": "192.168.15.252"
                        }
                    ]
                }
            }
        }
    }
    kubectl -n cattle-system 
    patch  daemonsets cattle-node-agent --patch '{
        "spec": {
            "template": {
                "spec": {
                    "hostAliases": [
                        {
                            "hostnames":
                            [
                                "zhou.rancher.com"
                            ],
                                "ip": "192.168.15.252"
                        }
                    ]
                }
            }
        }
    }'

    最后打开我们设定的zhou.rancher.com网站,导入集群

  • 相关阅读:
    (4.3)基于机器学习(分类)的酒店评论倾向性分析
    (4.2)基于LingPipe的文本基本极性分析【demo】
    (4.1)LingPipe在Eclipse中的运行
    微信获取openid
    微信token
    js跳转整理(简记)
    阅读有感
    normalize.css v2.1.2 翻译
    来,让我们谈一谈 Normalize.css
    jquery ajax事件执行顺序
  • 原文地址:https://www.cnblogs.com/zhouzhifei/p/13683466.html
Copyright © 2011-2022 走看看