Rancher+dashboard安装部署

红米2年前技术文章791

一、简介

1、什么rancher

Rancher是一个开源软件平台,使组织能够在生产中运行和管理Docker和Kubernetes。使用Rancher,组织不再需要使用一套独特的开源技术从头开始构建容器服务平台。Rancher提供了管理生产中的容器所需的整个软件堆栈。 

2、充分发挥K8s的潜力

Kubernetes并非没有挑战,对一个集群的严格控制可能会给运营团队带来压力。关注一个以上的问题会让他们不知所措。Kubernetes很容易为您的软件引入过多的复杂性。随着越来越多的供应商围绕Kubernetes部署解决方案,避免锁定只会变得更加困难。  Rancher解决了这些问题。它开箱即用地部署Prometheus和Grafana,以便对集群和工作负载的指标进行详细的可视化。它使新Kubernetes用户部署工作负载变得非常简单,同时仍然保留所有传统的访问通道供高级用户使用。它在一个集中身份验证提供者下统一管理每个集群。它将最佳实践转化为简单的实践,这将成为更安全的系统、更高效的团队,以及企业转向市场的灵活性。

3、基础架构流程

Rancher以linux主机的形式可以从任何公有/私有云中获取原始计算资源,每个linux主机可以是虚拟机/物理机。  Rancher实现了可移植的基础架构服务层,专门为容器话应用程序提供动力,Rancher基础架构服务包括网络,存储、负载均衡、DNS和安全性。Rancher基础结构服务通常本身是作为容器部署,因此同一Rancher基础结构服务可以在来自任何云、任何linux主机上运行

4、容器编排和调度

许多用户选择使用容器编排和调度框架来运行容器话的应用程序,Rancher包括当前所有留下的容器编排和调度框架的发行版,包括Docker Swarm,Kubernetes和Mesos,同一个用户可以创建多个Swarm或Kubernetes集群,然后,他们可以使用本机Swarm或Kubernetes和Mesos集群

5、应用目录

Rancher用户只需单击以下按钮,即可从应用程序目录中部署整个多容器集群应用程序,当新版本的应用程序可用时,用户可以管理已部署的应用程序并执行全自动升级,Rancher维护由Rancher社区贡献的流行应用程序组成的公共目录。Rancher用户可以创建自己的私有目录

6、企业级控制

Rancher支持灵活的用户身份验证差价,并与Active Directory,LDAP和GitHub进行了预先构建的用户身份验证集成。Rancher在环境级别支持基于角色的访问控制(RBAC),允许用户和组共享或拒绝对开发和生产环境的访问。

7、为什么使用rancher

Rancher是供采用容器的团队使用的完整软件堆栈。它解决了在任何基础架构上管理多个Kubernetes集群的运营和安全挑战,同时为DevOps团队提供了用于运行容器化工作负载的集成工具用户不需要深入了解kubernetes概念就可以使用rancher,rancher包含应用商店,支持一键部署helm和compose模板。rancher通过各种云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序,下图说明rancher在IT和DevOps组织中扮演的角色,每个团队都会在他们选择的公共云或私有云上部署应用

截屏2022-11-03 10.30.45_wlkePVmw3P.png

8、Rancher的主要组件和功能图示

截屏2022-11-03 10.31.33_45gP52zrns.png

9、新的功能

内置CI/CD;  告警和日志收集;  多集群管理;  rancher kubernetes engine(RKE);  与云Kubernetes服务(如GKE,EKS和AKS)集成;

二、Rancherd的安装部署

1、安装指定版本的docker

yum list docker-ce --showduplicates | sort -r

yum install docker-ce-19.03.10-3.el7 -y

2、配置docker的阿里源仓库

{
 
 "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
 "exec-opts": ["native.cgroupdriver=systemd"],
 "log-driver": "json-file",
 "log-opts": {
   "max-size": "5m"
 },
 "storage-driver": "overlay2"
}

3、docker拉取指定版本的rancher镜像

docker pull registry.cn-hangzhou.aliyuncs.com/rancher/rancher:v2.4.2

4、docker运行安装rancher

docker run -itd -p 81:80 -p 443:443 \
--restart=unless-stopped --privileged \
-e CATTLE_AGENT_IMAGE="registry.cn-hangzhou.aliyuncs.com/rancher/rancher-agent:v2.4.2" \
-e CATTLE_SYSTEM_CATALOG=bundled \
registry.cn-hangzhou.aliyuncs.com/rancher/rancher:v2.4.2

5、登录

浏览器输入:https://ip

密码:*****

三、dashboard安装

1、安装

wget https://github.91chi.fun/https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

2、修改配置文件

[root@172-16-121-211 ~]# vim recommended.yaml 
metadata:
 labels:
   k8s-app: kubernetes-dashboard
 name: kubernetes-dashboard
 namespace: kubernetes-dashboard

---

kind: Service
apiVersion: v1
metadata:
 labels:
   k8s-app: kubernetes-dashboard
 name: kubernetes-dashboard
 namespace: kubernetes-dashboard
spec:
 type: NodePort       #新增
 ports:
   - port: 443
     targetPort: 8443
     nodePort: 30009      #新增,映射到物理机端口30009
 selector:
   k8s-app: kubernetes-dashboard
 
 #启动dashboard
[root@172-16-121-211 ~]# kubectl apply -f recommended.yaml

3、产生token

[root@172-16-121-211 ~]# kubectl get svc,pod -n kubernetes-dashboard 
NAME                                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.96.127.189    <none>        8000/TCP        64s
service/kubernetes-dashboard        NodePort    10.100.209.103   <none>        443:30009/TCP   64s

NAME                                             READY   STATUS              RESTARTS   AGE
pod/dashboard-metrics-scraper-66dd8bdd86-mh9ql   0/1     ContainerCreating   0          64s
pod/kubernetes-dashboard-785c75749d-f2bbt        0/1     ContainerCreating   0          64s
pod/kubernetes-dashboard-7b8b54c6d6-2s9nm        0/1     ContainerCreating   0          64s
[root@172-16-121-211 ~]# kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
serviceaccount/dashboard-admin created

[root@172-16-121-211 ~]# kubectl create clusterrolebinding \
dashboard-admin-rb --clusterrole=cluster-admin \
--serviceaccount=kubernetes-dashboard:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin-rb created

[root@172-16-121-211 ~]# kubectl get secrets -n \
kubernetes-dashboard | grep dashboard-admin

dashboard-admin-token-nsmxb        kubernetes.io/service-account-token   3      15s

[root@172-16-121-211 ~]# kubectl describe secrets dashboard-admin-token-nsmxb -n kubernetes-dashboard
Name:         dashboard-admin-token-nsmxb
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
             kubernetes.io/service-account.uid: d3db2713-2725-4753-a9c1-ef37db43dc29

Type:  kubernetes.io/service-account-token

Data
====
namespace:  20 bytes
token:     ************
ca.crt:     1066 bytes

4、浏览器打开

输入:https://ip:30009

输入第2步中产生的token:

截屏2022-11-17 09.44.36_jLqDorC5yS.png

📌注意:浏览器一定要输入https:........

5、修改token过期时间



相关文章

CDH-Impala集成ldap认证

CDH-Impala集成ldap认证

1、背景集群版本:cdh6.2.0impala版本:3.2.0+cdh6.2.0用户认证:AD由于用户需要使用数据库工具连接impala,但是集群开启了kerberos,如果使用数据库连接工具连接im...

MySQL运维实战之ProxySQL(9.1)ProxySQL介绍

MySQL运维实战之ProxySQL(9.1)ProxySQL介绍

mysql通过复制技术实现了数据库高层面的可用,但是对于应用来说,当后端MySQL发生高可用切换时,应该怎么处理?我们考虑几种方案:1、使用域名绑定。应用通过dns连接后端实例,当后端发生切换后,将d...

hive创建hbase映射表

hive创建hbase映射表

hbase创建表,导入数据/opt/app/hbase-2.1.0/bin/hbase shell查看已有表,创建新表,查看表结构listcreate 'student', 'info', 'scor...

Hdfs3.x新特性详解

Hdfs3.x新特性详解

HDFS Disk Balancer(磁盘均衡器)HDFS Disk Balancer与HDFS Balancer的区别?两者都是实现负载均衡功能HDFS Balancer是之前Hadoop2.x中本...

Redis 热 key

1、hotkeys该方案只能针对于 key 的过期淘汰策略为 allkeys-lfu 或者 volatile-lfu 的实例。-----查看淘汰策略 config get maxmemory-pol...

grafana7 监控https证书过期时间

grafana7 监控https证书过期时间

使用 Grafana 7 中new table visualization功能,使用Prometheus监视证书的到期日期,并使用Grafana进行展示。所有证书一目了然:证书到期之前的剩余时间,HT...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。