rancher中快速部署应用
阅读前提:有docker知识储备,并对kubernetes有一定的了解
** 可以直接点击带有图片的源博客地址进行阅读 **
https://blog.zhenglin.work/k8s/deploy_app_in_rancher.html
通过UI 部署应用
rancher在命名空间又抽象出一层,项目的概念(这个只是便于管理rancher抽象出来的,kubernetes中并没有这层);我们可以先创建一个项目,然后在里面创建命名空间;这里为方便演示直接使用默认default的项目和default命名空间。
工作负载(deployment daemonset statefulset job等)部署
工作负载主要有deployment、statefulset、daemonset、job等类型,其实它们就是pod控制器,直接部署pod,很不容易控制;用不同类型控制器来生成和控制pod,就来的很方便了。如deployment是无状态的pod控制器,statefulset是有状态的控制器,一般用来部署数据库;daemonset是每个worker节点上都部署一个,一般用来采集worker节点的数据; job一次性的,完成后状态是completed,不再工作。这些控制器都有缩写的别名,具体可以参考博主的kubectl 常见命令使用。
1,在workloads tab中点击deploy
[外链图片转存失败(img-S2J2Q5l0-1562831289384)(images/1562658088891.png)]
2,填写配置信息
填写镜像名称,副本数量、选择负载类型等关键信息
[外链图片转存失败(img-A2Xr8Hwn-1562831289385)(images/1562658582885.png)]
只有deployment和statefulset可以设置多个副本集;
3,端口映射
[外链图片转存失败(img-N35gbxQv-1562831289385)(images/1562658676239.png)]
如图除"Layer-4 Load Balancer"外,还有三种选项;nodeport相当于四层负载一样,选择此选项后,在服务发现中会生成一个deployment同名-nodeport,这种格式的service;这个比较方便;访问集群任意节点ip+此nodeport端口 都能调度此deployment控制的pod上。hostport稍显鸡肋,pod调度到那个节点上,就可以通过节点ip+端口进行访问,如果没有调度的节点ip+端口是访问不了的。Cluster IP最好理解,就是基于它所在namespace组成的局域网,其他namespace或者外部是无法访问的;同一个namespace是可以直接访问的。
4,环境变量
[外链图片转存失败(img-K0pwLCCD-1562831289385)(images/