k8s集群部署上线web静态网站

您所在的位置:网站首页 gitlab集群节点 k8s集群部署上线web静态网站

k8s集群部署上线web静态网站

#k8s集群部署上线web静态网站| 来源: 网络整理| 查看: 265

环境准备

一台部署节点,一台master节点,还有两台节点node1,node2 完好的k8s集群环境 在这里插入图片描述

部署节点操作:

1)编排httpd.yml文件 在这里插入图片描述 容器端口为80,副本数为3. 这里因为我是上线的apache服务,所以使用httpd的镜像,当然也可以使用nginx或者tomcat,但需要注意的是各自的根目录不一样。 2)然后执行如下命令创建deployment,生成pod

kubectl apply -f httpd.yml

node节点:3)根据pod的name在分别在22和21节点查找容器 在这里插入图片描述 4)创建目录/usr/local/apache2/htdocs ,然后上传一个静态资源包,我这里上传一个飞机大战的小游戏。  #这里我们需要知道的是,这也是httpd容器的根目录

[email protected] htdocs]# ls game.zip [[email protected] htdocs]# unzip game.zip 解压后是这个样子 [[email protected] htdocs]# ls game jquery-1.8.3.min.js readme.xls sky_fight.html sky.php

5)将以上文件全部拷贝到 3)步骤的容器里面的/usr/local/apache2/htdocs目录下

[[email protected] apache2]# docker cp htdocs/ 9b20bb037dd8:/usr/local/apache2/htdocs

6)进入容器的/usr/local/apache2/htdocs目录,查看文件是否拷贝成功,并且将原本的index,html文件移走或者删除 否则访问的就是此文件下的内容。—————》it work

[[email protected] apache2]# docker exec -it 9b20bb037dd8 /bin/bash [email protected]-deployment-784d567c4d-2fxb2:/usr/local/apache2# ls bin build cgi-bin conf error htdocs icons include logs modules [email protected]-deployment-784d567c4d-2fxb2:/usr/local/apache2# cd htdocs/ [email protected]-deployment-784d567c4d-2fxb2:/usr/local/apache2/htdocs# ls htdocs index.html tml @httpd-deployment-784d567c4d-2fxb2:/usr/local/apache2/htdocs# rm -rf index.ht [email protected]-deployment-784d567c4d-2fxb2:/usr/local/apache2/htdocs# cd htdocs/ [email protected]-deployment-784d567c4d-2fxb2:/usr/local/apache2/htdocs/htdocs# ls game images readme.xls sky_fight.html game.zip jquery-1.8.3.min.js sky.php

7) 以上步骤成功后又回到部署节点编写一个service的编排文件 在这里插入图片描述 节点的静态端口设置为26055,service端口为8080.注意框内的run: httpd。要与1)步骤的编排文件的label name对应。

8)启动编排文件,生成service。

kubectl apply -f svc.yml

9)查看service的状态

[[email protected] yml]# kubectl get svc -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR httpd-svc NodePort 10.68.90.148 8080:26055/TCP 22h run=httpd kubernetes ClusterIP 10.68.0.1 443/TCP 1d nginx-svc2 NodePort 10.68.26.208 8081:30001/TCP 21h run=nginx

10)在不属于k8s集群的任意主机上访问。格式为nodeip + nodeport 。例如: 在这里插入图片描述 因为是静态网站,所以我们去web浏览器上访问效果更好。 在这里插入图片描述 11) 但是这样只是做了一个节点的可用,我们要想将21节点加入服务端。需要将/usr/local/apache/htdocs目录当成nfs的共享目录挂载到其他节点上。并且通过将此目录下的资源拷贝到节点容器内,而不是通过目录映射,为什么呢?因为通过目录映射的方式会重新生成一个容器,而不是1)步骤通过编排文件生成的pod容器。这样通过nodeport就无法访问静态资源而是通过宿主机映射的端口来访问。

12)在21节点上执行3、4、5、6步骤,然后访问浏览器,显示效果如下: 在这里插入图片描述 可以看到集群的节点都实现了静态网站上线,如果集群内的pod down掉k8s集群会根据副本数自动生成新的pod,实现高可用。 原创地址:https://www.cnblogs.com/zzzynx/p/11137755.html

https://mp.weixin.qq.com/s/e7iQlo2vrVqu6EYk7aF29A

参考链接 : k8s集群部署上线web静态网站 : https://mp.weixin.qq.com/s/e7iQlo2vrVqu6EYk7aF29A



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3