• k8s 集群中 rancher 部署


    helm 安装

    • 安装helm
    #下载helm 并安装
    wget https://get.helm.sh/helm-v3.3.1-linux-amd64.tar.gz
    tar -xf helm-v3.3.1-linux-amd64.tar.gz
    mv ./linux-amd64/helm /usr/local/bin/helm && chmod +x /usr/local/bin/helm
    helm version
    
    • helm安装rancher
    #添加 rancher chart 仓库地址
    helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
    helm repo list
    
    #下载指定rancher 版本包
    cd /data/work/linux-amd64
    helm fetch rancher-stable/rancher   --version=2.4.11
    
    #创建 tls 证书
    kubectl create secret tls  moviebook.cn  --cert=server.crt --key=server.key   -n  kube-system 
    
    #渲染模板
    helm template rancher ./rancher-2.4.11.tgz  --namespace kube-system --output-dir .  --set ingress.tls.source=moviebook   --set hostname=rancher-dev-yzk8s.xxmm.cn 
    
    #查看模板文件
    ls rancher/templates/
    clusterRoleBinding.yaml  deployment.yaml  ingress.yaml  serviceAccount.yaml  service.yaml
    
    #修改模板文件增加名称空间
    增加字段: namespace: kube-system
    
    #创建模板文件
    kubectl apply -f .
    
    #设置宽泛的rbac 
    kubectl create clusterrolebinding permissive-binding \
      --clusterrole=cluster-admin \
      --user=admin \
      --user=kubelet \
      --group=system:serviceaccounts
    
    
    #使用nginx 反向代理rancher 
    # cat rancher.conf 
    server {
            listen 443 ssl;
            server_name rancher-dev-yzk8s.xx.cn;
            ssl_certificate      /etc/nginx/ssl/xx.cn/server.crt;
            ssl_certificate_key  /etc/nginx/ssl/xx.cn/server.key;
    
            location / {
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-Port $server_port;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass https://kubernetes_backend_ssl;
                proxy_http_version 1.1;
                proxy_set_header Upgrade "websocket";
                proxy_set_header Connection "upgrade";
                # 这里将允许您在 Rancher UI 中打开命令行窗口时,窗口可以保留最多15分钟。没有这个参数时,默认值为1分钟,一分钟后在Rancher中的shell会自动关闭。
                proxy_read_timeout 900s;
                proxy_buffering off;
            }
        }
    
    server {
         listen 80;
         server_name rancher-dev-yzk8s.xx.cn;
         rewrite ^(.*)$ https://${server_name}$1 permanent;
    }
    
    #rancher 报错
    #rancher2.4.11 版本报错Alert: Component controller-manager is unhealthy. 
    #现象rancher2.4.11 版本报错Alert: Component controller-manager is unhealthy.
    kubectl get componentstatuses
    
    controller-manager   Unhealthy   HTTP probe failed with statuscode: 400  
    
    #处理方式,登录三个master 节点,三个master 节点执行相同的操作
    cd /etc/kubernetes
    vim kube-controller-manager.conf
    注释以下两个参数
    #--port=0
    #--secure-port=10252
    
    #重启kube-controller-manager、kubelet
    systemctl restart  kube-controller-manager
    systemctl restart kubelet
    
    #再吃执行 kubectl get componentstatuses
    controller-manager   Healthy   ok                  
    scheduler            Healthy   ok                  
    etcd-2               Healthy   {"health":"true"}   
    etcd-1               Healthy   {"health":"true"}   
    etcd-0               Healthy   {"health":"true"} 
    
    #刷新rancher,问题解决
    

    rancher 连接ldap

    #选择全局--->安全--->认证--->LDAP
    

    • 添加运维管理人员的admin 权限
    #选择local--->成员---> 添加用户--->权限修改为 cluster owner
    

    • 开发人员只对某一个名称空间有权限的设置方法
    #例如:开发人员 he.jiu只对 default 名称空间有进入容器、维护容器的权限,对其他名称空间不可看,如下设置
    #选择 local --> default-->上面导航栏成员-->添加成员--> 选择用户--> 分配权限(View Workloads 和 Manage Workloads)
    

    • 测试普通用户登录rancher 的权限
    #开发人员登录 rancher,查看自己的权限
    开发人员 he.jiu 只有local 中 default 名称空间下Pod 的权限,可以查看、删除、进入pod 终端命令行的权限。
    对于其他名称空间是没有权限的
    


  • 相关阅读:
    Elasticsearch 之 Hello World (二)
    Elasticsearch 之 Hello World (一)
    Linux动态gif图的录制
    Vim配置及说明——IDE编程环境
    Vim自动补全插件----YouCompleteMe安装与配置
    Linux查看硬件信息(北桥芯片组、南桥、PCI接口、CPU等)
    Linux中源码安装编译Vim
    Linux安装搜狗拼音输入法-sogoupinyin
    开始写博客,与ITer们互相学习
    笔记本多硬盘win7下U盘安装Cnetos7引导问题!
  • 原文地址:https://www.cnblogs.com/lixinliang/p/15922226.html
Copyright © 2020-2023  润新知