首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
使用阿里云k8s服务部署项目以及pvc持久化思路.
时间:
2018-06-11 19:06:18
阅读:
1039
评论:
0
收藏:
0
[点我收藏+]
标签:
阿里云使用k8s开发微服务
一如惯例,懒人一枚,
开启阿里云k8s服务,
开启阿里云容器镜像服务
登录master主机,创建项目文件夹.
在项目文件夹创建Dockerfile
vi /root/nginx/Dockerfile
From nginx
ADD nginx.conf /etc/nginx/nginx.conf
ADD saasfrontal.conf /etc/nginx/conf.d/saasfrontal.conf
VOLUME /root/nginx/frontal /usr/share/nginx/frontal #将开发打包出来的页面文件夹映射到容器内部,即可实现从外部更改即可,不用每次把文件拷贝到容器内,占用更多的时间和io.
CMD nginx -g daemon off #必须以此命令启动nginx进程,否则容器会不断loopcrash,原因在于其他如nginx -f 命令只是一次性执行,无法持续执行.
在任意位置执行
docker build /root/nginx -t #<你的镜像服务地址>:版本号
如果不加版本号默认为lastest, build命令后必须指向你要创建的Dockerfile所在的路径,绝对路径或者相对路径均可.
docker login 到你的阿里云容器镜像服务账号下,此处应该可以用aliyun的accessID 和accessKey 进行授权访问,后续慢慢研究
docker push 刚生成的镜像.
阿里云容器服务中k8s管理台创建一个服务,填写相关的标签(这组服务的名字),镜像为你创建的镜像名称, 对外服务(WAN)或者对内服务(LAN)的端口(比如外部80访问容器内部80端口)创建服务后会自动创建负载均衡,并收取按需付费的费用.
jenkins配置ssh登录:
这里需要说明一下,
切换到jenkins用户, 以ssh-keygen -t rsa 一路默认生成公钥和私钥,将jenkins的公钥导入到本服务器的/root/.ssh/authorized_keys文件夹中,
cat /var/lib/jenkins/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
执行一次访问
ssh root@<局域网ip>
提示rsa证书之类的布拉布拉布拉~,输入yes
然后在root的ssh文件夹下可以看到一个known_hosts
known_hosts
cat known_hosts通过scp拷贝到master服务器上,
内容如下:
[172.19.137.244]:10201 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOk68ZPOlrc7Yj5/qhUwVoKgTsz8+9PJkBKWxDXy3WGEDCMDtrNcBPOIVl03NoyitMB6psOYHIXwbNHoxC3Vzl0=
简单说来root的ssh目录下有这个文件就不需要你再去jenkins逐个登录到某服务器上去确认rsa证书输入那个yes了.
将authorized_keys文件和known_hosts通过scp拷贝到master服务器上,就不需要再手工以jenkins用户登录到master服务器完成一个初始化.
scp /root/.ssh/authorized_keys里,否则可能会造成服务器无法登录的问题. root@<master IP>:/root/.ssh/
scp /root/.ssh/known_hosts root@<master IP>:/root/.ssh/
这里注意不要偷懒复制整个文件夹, 可能会造成无法登录的问题, 对于已经使用了密钥登录的ecs服务器,还是手工cat的方式附加到root的authorized_keys里,否则可能会造成服务器无法登录的问题.
ssh-keygen -t rsa 时默认Passphrase为空, 所以这里留空即可.
Path to key 这里是要提交的是jenkins的私钥, jenkins的默认home文件夹是/var/lib/jenkins,所以私钥默认位置是/var/lib/jenkins/.ssh/id_rsa
贴入私钥的所有内容
然后在下面输入docker的ip等相关信息, 作者此服务器已关所以这里反馈连接失败.
jenkins创建一个nginx项目
创建完成后执行exec shell命令进行, 去除所有的项目文件夹之前的文件夹结构, 并上传项目文件夹到k8s master的nginx目录下.
使用kubectl 创建rc 并设置副本数量,也可以用web界面创建然后导出下载为yaml.后续只需要进行部分修改. 纯手工去写也可以.
执行该jenkins任务:
14.测试访问.
顺便提一嘴关于PV和PVC:
1.在阿里云创建nas云盘,
将nas云盘设置为pv(持久存储卷)
以现有的pv创建pvc(持久存储卷连接代码)
将pvc应用给rc(副本控制器).
jenkins将项目文件发送到master上,master配置node连接pvc并实现外部到内部的持久化存储.
思路是这样的,阿里云的k8s最低配置是3台master群集加3台node群集, 即便是按需付费一年也要差不多5000多一套, 测试不起了.
使用阿里云k8s服务部署项目以及pvc持久化思路.
标签:
阿里云使用k8s开发微服务
原文地址:http://blog.51cto.com/13801798/2128184
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!