服装厂做1688网站效果好不好,网站建设预算表格,网站策划建设阶段的推广,做网站公司怎么样一#xff0c;前言
上一篇#xff0c;介绍了前端项目的部署#xff1a;项目的创建和 jenkins 配置#xff1b;
本篇#xff0c;创建 Deployment、Service#xff0c;完成前端项目的部署#xff1b; 二#xff0c;创建 Deployment
创建 Deployment 配置文件#xff…一前言
上一篇介绍了前端项目的部署项目的创建和 jenkins 配置
本篇创建 Deployment、Service完成前端项目的部署 二创建 Deployment
创建 Deployment 配置文件deployment-cicd-frontend.yaml
[rootk8s-master cicd]# vi deployment-cicd-frontend.yamlapiVersion: apps/v1
kind: Deployment
metadata:name: cicd-frontend
spec:selector:matchLabels: #匹配标签名app: cicd-frontendreplicas: 1template: #模板metadata:labels:app: cicd-frontend #对应selector-matchLabels名称spec: #规格imagePullSecrets: #拉取私服镜像所需要的信息- name: private-registrycontainers: #容器- name: cicd-frontendimage: 47.94.92.122:8082/cicd-frontend:20220112231457生效配置
[rootk8s-master cicd]# kubectl apply -f deployment-cicd-frontend.yaml
deployment.apps/cicd-frontend created查看 podcicd-frontend 已完成 1 个副本的部署
[rootk8s-master cicd]# kubectl get pods
NAME READY STATUS RESTARTS AGE
cicd-backend-98b5d4f57-ftrdk 1/1 Running 0 34h
cicd-frontend-77447bfdb4-bgt6t 1/1 Running 0 90s
cicd-mysql-745975859b-c4b6p 1/1 Running 4 34h三创建 Service
创建 Service 配置文件service-cicd-frontend.yaml
[rootk8s-master cicd]# vi service-cicd-frontend.yamlapiVersion: v1
kind: Service
metadata:name: service-cicd-frontend
spec:selector:app: cicd-frontendports:- protocol: TCPport: 80targetPort: 80type: NodePort备注 1spec 下的 app这里的 cicd-frontend 是需要和 Deployment 部署配置文件的名字一致 2port: 80指前端构建 nginx 容器的端口号集群内部服务之间项目访问的端口号是 80 3targetPort: 80指容器内部启动之后对外暴露的端口号是 80 生效配置
[rootk8s-master cicd]# kubectl apply -f service-cicd-frontend.yaml
service/service-cicd-frontend created查看服务
[rootk8s-master cicd]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 none 443/TCP 21d
service-cicd-backend NodePort 10.97.144.175 none 7001:30174/TCP 34h
service-cicd-frontend NodePort 10.103.232.242 none 80:30339/TCP 2m21s
service-cicd-mysql NodePort 10.108.224.96 none 8899:32154/TCP 5d13h可以看到service-cicd-frontend 对外部暴露的端口号是 30339
测试访问服务
查看 host部署在 k8s-node 节点上使用内网 ip172.17.178.106
// 查看 host
[rootk8s-master cicd]# cat /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4172.17.178.106 k8s-node172.17.178.105 k8s-master
172.17.178.105 k8s-master k8s-mastercurl 访问页面地址返回 html 代码说明部署成功且能够正常提供服务
// 测试访问
[rootk8s-master cicd]# curl http://172.17.178.106:30339/
!doctype htmlhtml langenheadmeta charsetutf-8/link relicon href/favicon.ico/meta nameviewport contentwidthdevice-width,initial-scale1/meta nametheme-color content#000000/meta namedescription contentWeb site created using create-react-app/link relapple-touch-icon href/logo192.png/link relmanifest href/manifest.json/titleReact App/titlelink href/static/css/2.de2ac02e.chunk.css relstylesheetlink href/static/css/main.696dae51.chunk.css relstylesheet/headbodynoscriptYou need to enable JavaScript to run this app./noscriptdiv idroot/divscript!function(e){function r(r){for(var n,f,lr[0],ir[1],ar[2],c0,s[];cl.length;c)fl[c],Object.prototype.hasOwnProperty.call(o,f)o[f]s.push(o[f][0]),o[f]0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)(e[n]i[n]);for(pp(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r0;ru.length;r){for(var tu[r],n!0,l1;lt.length;l){var it[l];0!o[i](n!1)}n(u.splice(r--,1),ef(f.st[0]))}return e}var n{},o{1:0},u[];function f(r){if(n[r])return n[r].exports;var tn[r]{i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l!0,t.exports}f.me,f.cn,f.dfunction(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.rfunction(e){undefined!typeof SymbolSymbol.toStringTagObject.defineProperty(e,Symbol.toStringTag,{value:Module}),Object.defineProperty(e,__esModule,{value:!0})},f.tfunction(e,r){if(1r(ef(e)),8r)return e;if(4robjecttypeof eee.__esModule)return e;var tObject.create(null);if(f.r(t),Object.defineProperty(t,default,{enumerable:!0,value:e}),2rstring!typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.nfunction(e){var ree.__esModule?function(){return e.default}:function(){return e};return f.d(r,a,r),r},f.ofunction(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p/;var lthis[webpackJsonpk8s-demo-frontend]this[webpackJsonpk8s-demo-frontend]||[],il.push.bind(l);l.pushr,ll.slice();for(var a0;al.length;a)r(l[a]);var pi;t()}([])/scriptscript src/static/js/2.d0218d5d.chunk.js/scriptscript src/static/js/main.035f5630.chunk.js/script/body/html但是由于阿里云服务器的防火墙使用外网 ip直接在浏览器访问 http://47.93.9.45:30339 暂时还访问不了需要配置安全组开放端口 本篇创建了前端项目的 Deployment、Service完成了前端项目的部署和访问
下一篇集成 jenkins 与 k8s实现提交代码自动触发构建部署