本教程将指导您完成:
安装Rancher v2.0 ;
创建第一个集群;
部署一个应用程序,如Nginx;
一、入门须知
熟悉Linux基础命令;
了解SSH使用方法,了解公钥/私钥工作原理;
熟悉Docker基本使用方法及基础命令,比如:容器日志查看;
了解SSL证书使用方法;
了解负载均衡工作原理(L4/L7);
了解域名解析原理;
了解K8S基本概念
通过配置Linux主机开始创建自定义集群。您的主机可以是:
云主机
本地虚拟机
本地物理机
注意:在使用云主机时,您需要允许TCP/80和TCP/443入站通信端口。请查阅您的云主机文档以获取有关端口配置的信息。有关端口要求的完整列表,请查阅 端口需求 .
根据以下要求配置主机:
Ubuntu 16.04 +(64位)
Centos/RedHat Linux 7.5+(64位)
RancherOS 1.3.0+(64位)
Ubuntu *** 作系统有Desktop和Server版本,选择安装server版本.
1、硬件需求:
CPU: 2C
内存: 4GB
注意:此配置仅为满足小规模测试环境的最低配置。如用于生产,请参考 基础配置要求 。
2、软件需求:
软件: Docker
支持的Docker版本:
17.03.x
18.06.x
18.09.x
注意:有关Docker安装说明,请访问其 文档 。软件需求要应用于所有节点。
主机的更详细配置说明,请查看 基础环境配置
三、安装Rancher
要想在主机上安装Rancher,需要先登录到主机上,接着进行以下步骤:
通过shell工具(例如PuTTy或远程终端连接)登录到主机
在shell中执行以下命令:
四、登录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。
五、创建K8S集群
现在创建第一个Kubernetes集群,可以使用自定义选项。您可以添加云主机、内部虚拟机或物理主机作为集群节点,节点可以运行任何一种或多种主流Linux发行版:
页面右下角可以切换语言;
在全局视图下,点击菜单中的集群 , 并点击添加集群;
选择 Custom,并设置集群名称,其他参数可不用修改,点击下一步;
选择节点运行的角色
默认会勾选Worker角色,根据需要可以一次勾选多种角色。比如,假设我只有一个节点,那就需要把所有角色都选择上,选择后上面的命令行会自动添加相应的命令参数;
如果是云主机,需要添加主机的内网地址和对应的公网地址,如果是没有公网的云主机,可以跳过这步;
其他参数保持默认,点击命令行右侧的复制按钮,复制命令参数
如果是多台主机,根据角色的不同,需要复制多次
登录预添加集群的主机,执行以上复制的命令;
在主机上执行完命令后,最后点击完成;
回到全局视图,可以查看集群的部署状态;
点击集群名称,进入集群视图
点击菜单栏主机按钮
集群创建完成
集群创建完成后,默认会生成Default项目,点击Default切换到项目视图;
六、部署工作负载
工作负载是一个对象,包括pod以及部署应用程序所需的其他文件和信息。我们以nginx作为例如:
在Default视图下,点击工作负载—部署服务
在部署工作负载页面,设置工作负载名称、副本数量、镜像名称、命名空间、端口映射,其他参数保持默认,最后点击启动;
部署完成
通过31174端口去访问nginx服务。
对于初学者,在一台虚拟机上安装rancher2和k8s环境,是一件挺麻烦的事,笔者做了个虚拟机镜像,帮助快速搭建环境。
为了节约运行时资源,采用了轻量级的k3s部署k8s环境,用于本地开发及测试环境,够用了。
在k3s上安装rancher,官方安装文档:
https://rancher.com/docs/rancher/v2.5/en/
账号 root 密码 123
如果需要ssh私钥登录,请自行修改.ssh/authorized_keys
账号 admin 密码 123
打开浏览器,推荐谷歌浏览器,输入 https://rancher.l.jamma.cn ,首次打开会提示证书警告,点击继续即可。
建议内存4G以上。
通过配置端口转发,从主机访问虚拟机的服务,例如rancher里配置redis,通过L4层负载均衡开放端口6379, 虚拟机网络中配置好6379端口转发后,就可以通过localhost:6379直接访问虚拟机的redis服务了。
注意,需要转发的端口必须在宿主机没有被占用。
默认已经配置了下列端口转发。
默认,我配置了泛域名 *.l.jamma.cn 解析为 127.0.0.1,长期有效,你可以直接使用我的域名,可以配置自己的域名。
下面是我配置的两个L7层负载均衡的例子
api.l.jamma.cn 指向 api服务
gateway.l.jamma.cn 指向 gateway服务
使用helm前需要设置环境变量KUBECONFIG
建议所有节点提前导入rancher镜像,减少部署时间,以rancher 2.5.6为例:
rancher-server 在 k8s 环境中只提供 http 协议端口,tls 证书在ingress 中卸载,因此需要在ingress-nginx运行的命名空间,创建存放证书的 secret
--set additionalTrustedCAs=true (可选)访问各种 tls (https) 时额外信任的 ca 证书,比如自使用签证书的镜像仓库、git仓库、s3 对象存储,亦或是类似公司出网白名单代理网关、fiddler 抓 https 包之类的需要安装 ca 证书的情况
由于是自建的 ingress,修改ingress是配置正确,执行命令: kubectl edit ingress -n cattle-system 在 annotations 处添加一行注解: ( 修改为和集群中名称一致的 ingressClass,这里名为 nginx )
执行命令: kubectl edit ingress -n cattle-system 在 annotations 处添加注解:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)