1. What's Rancher?
Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。
Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标准基础架构。Rancher用户可以选择使用Rancher Kubernetes Engine(RKE)创建Kubernetes集群,也可以使用GKE,AKS和EKS等云Kubernetes服务。 Rancher用户还可以导入和管理现有的Kubernetes集群。
Rancher支持各类集中式身份验证系统来管理Kubernetes集群。例如,大型企业的员工可以使用其公司Active Directory凭证访问GKE中的Kubernetes集群。IT管理员可以在用户,组,项目,集群和云中设置访问控制和安全策略。 IT管理员可以在单个页面对所有Kubernetes集群的健康状况和容量进行监控。
Rancher为DevOps工程师提供了一个直观的用户界面来管理他们的服务容器,用户不需要深入了解Kubernetes概念就可以开始使用Rancher。 Rancher包含应用商店,支持一键式部署Helm和Compose模板。Rancher通过各种云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序。下图说明了Rancher在IT和DevOps组织中扮演的角色。每个团队都会在他们选择的公共云或私有云上部署应用程序。
2. What's New?
早期的Rancher1.X版本是基于Docker以Cattle为调度引擎的容器管理平台。在Rancher1.X成功和经验的基础上,基于Kubernetes基础上重新设计Rancher2.0版本。 Rancher2.0保留了1.6版的友好功能,如UI和应用商店。但是,2.0包含许多新功能,例如:
- 内置CI/CD;
- 告警和日志收集;
- 多集群管理;
- Rancher Kubernetes Engine (RKE);
- 与云Kubernetes服务(如GKE,EKS和AKS)集成;
3. 安装Rancher
要想在主机上安装Rancher,需要先登录到主机上,接着进行以下步骤:
-
通过shell工具(例如PuTTy或远程终端连接)登录到主机
-
在shell中执行以下命令:
[root@localhost ~]# mkdir -p /etc/docker [root@localhost ~]# vim /etc/docker/daemon.json [root@localhost ~]# systemctl daemon-reload [root@localhost ~]# systemctl restart docker [root@localhost ~]# mkdir /rancher [root@localhost ~]# docker run -d --restart=unless-stopped -v /rancher/:/var/lib/rancher/ -p 80:80 -p 443:443 rancher/rancher:stable Unable to find image 'rancher/rancher:stable' locally stable: Pulling from rancher/rancher 7ddbc47eeb70: Pull complete c1bbdc448b72: Pull complete 8c3b70e39044: Pull complete 45d437916d57: Pull complete 28a9e619eb92: Pull complete 3922b811dfe2: Pull complete 81d9d43baeba: Pull complete ea183fe1d558: Pull complete 59cb3488b9cd: Pull complete 470bfb078fde: Pull complete 9d3364413c7e: Pull complete dcceab1151c5: Pull complete 22541110ae37: Pull complete 594323731b75: Pull complete Digest: sha256:e1da0ac036379f3bb58b3a8a94ba7f794aca9ec34bb42ca24d1e935c4a744f1e Status: Downloaded newer image for rancher/rancher:stable 5c8e861f6a7049eb86dc01fab3a4fdf99394538660c40557ad5ff7e2f6f55e8e [root@localhost ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5c8e861f6a70 rancher/rancher:stable "entrypoint.sh" 23 seconds ago Up 21 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp suspicious_davinci [root@localhost ~]#
4. 登录Rancher
登录并开始使用Rancher。登录后,您将进行一些一次性配置。
-
打开浏览器,输入
https://<server_ip>
,server_ip
替换为运行Rancher容器主机的ip; -
因为是自动使用的自签名证书,在第一次登录会提示安全授信问题,信任即可;
设置管理员密码
第一次登录会要求设置管理员密码,默认管理员账号为: admin
如果没有设置密码而要求输入当前密码,可以输入密码: admin
设置Rancher Server URL
Rancher Server URL是agent节点注册到Rancher Serverd的地址,需要保证这个地址能够被agent主机访问,不要设置为127.0.0.1
或者localhost
。
5 添加k8s集群
[root@k8s-master ~]# kubectl apply -f https://192.168.180.137/v3/import/bgf67bfvhnhx6btnz4l4ktnqlzn4dq5wm942vsq7rxmv6w2zk5ht2c.yaml Unable to connect to the server: x509: certificate signed by unknown authority [root@k8s-master ~]# ll 总用量 279904 -rw-------. 1 root root 1731 12月 18 00:07 anaconda-ks.cfg drwxr-xr-x 3 root root 59 1月 7 17:20 efk -rw-r--r--. 1 root root 1779 12月 18 00:11 initial-setup-ks.cfg -rwxr-xr-x 1 root root 39305216 1月 5 19:40 kubeadm -rw-r--r-- 1 root root 1028 12月 19 22:26 kubeadm-config.yaml -rw-r--r-- 1 root root 4668 12月 19 22:20 kubeadm-init.log -rw-r--r-- 1 root root 14416 12月 19 22:36 kube-flannel.yml -rw-r--r--. 1 root root 484 12月 18 09:40 kubernetes.conf -rw-r--r-- 1 root root 199 1月 7 00:57 load-images.sh drwxr-xr-x 2 root root 315 8月 2 17:16 prometheus -rw-r--r-- 1 root root 247267436 1月 7 00:57 prometheus.tar.gz [root@k8s-master ~]# curl --insecure -sfL https://192.168.180.137/v3/import/bgf67bfvhnhx6btnz4l4ktnqlzn4dq5wm942vsq7rxmv6w2zk5ht2c.yaml | kubectl apply -f - clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver created clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master created namespace/cattle-system created serviceaccount/cattle created clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding created secret/cattle-credentials-e3c7b4d created clusterrole.rbac.authorization.k8s.io/cattle-admin created deployment.apps/cattle-cluster-agent created daemonset.apps/cattle-node-agent created