一、准备条件

确保kubernetes可以访问:reg.yunwei.edu镜像库(vim /etc/hosts)
 
需要准备镜像:
 

  1. [root@cicd sock-shop]# cat complete-demo.yaml
  2. apiVersion: extensions/v1beta1
  3. kind: Deployment
  4. metadata:
  5. name: carts-db
  6. labels:
  7. name: carts-db
  8. namespace: sock-shop
  9. spec:
  10. replicas:
  11. template:
  12. metadata:
  13. labels:
  14. name: carts-db
  15. spec:
  16. containers:
  17. - name: carts-db
  18. image: reg.yunwei.edu/sock-shop/mongo
  19. ports:
  20. - name: mongo
  21. containerPort:
  22. securityContext:
  23. capabilities:
  24. drop:
  25. - all
  26. add:
  27. - CHOWN
  28. - SETGID
  29. - SETUID
  30. readOnlyRootFilesystem: true
  31. volumeMounts:
  32. - mountPath: /tmp
  33. name: tmp-volume
  34. volumes:
  35. - name: tmp-volume
  36. emptyDir:
  37. medium: Memory
  38. nodeSelector:
  39. beta.kubernetes.io/os: linux
  40. ---
  41. apiVersion: v1
  42. kind: Service
  43. metadata:
  44. name: carts-db
  45. labels:
  46. name: carts-db
  47. namespace: sock-shop
  48. spec:
  49. ports:
  50. # the port that this service should serve on
  51. - port:
  52. targetPort:
  53. selector:
  54. name: carts-db
  55. ---
  56. apiVersion: extensions/v1beta1
  57. kind: Deployment
  58. metadata:
  59. name: carts
  60. labels:
  61. name: carts
  62. namespace: sock-shop
  63. spec:
  64. replicas:
  65. template:
  66. metadata:
  67. labels:
  68. name: carts
  69. spec:
  70. containers:
  71. - name: carts
  72. image: reg.yunwei.edu/sock-shop/carts:0.4.
  73. ports:
  74. - containerPort:
  75. env:
  76. - name: ZIPKIN
  77. value: zipkin.jaeger.svc.cluster.local
  78. - name: JAVA_OPTS
  79. value: -Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom
  80. securityContext:
  81. runAsNonRoot: true
  82. runAsUser:
  83. capabilities:
  84. drop:
  85. - all
  86. add:
  87. - NET_BIND_SERVICE
  88. readOnlyRootFilesystem: true
  89. volumeMounts:
  90. - mountPath: /tmp
  91. name: tmp-volume
  92. volumes:
  93. - name: tmp-volume
  94. emptyDir:
  95. medium: Memory
  96. nodeSelector:
  97. beta.kubernetes.io/os: linux
  98. ---
  99. apiVersion: v1
  100. kind: Service
  101. metadata:
  102. name: carts
  103. labels:
  104. name: carts
  105. namespace: sock-shop
  106. spec:
  107. ports:
  108. # the port that this service should serve on
  109. - port:
  110. targetPort:
  111. selector:
  112. name: carts
  113. ---
  114. apiVersion: extensions/v1beta1
  115. kind: Deployment
  116. metadata:
  117. name: catalogue-db
  118. labels:
  119. name: catalogue-db
  120. namespace: sock-shop
  121. spec:
  122. replicas:
  123. template:
  124. metadata:
  125. labels:
  126. name: catalogue-db
  127. spec:
  128. containers:
  129. - name: catalogue-db
  130. image: reg.yunwei.edu/sock-shop/catalogue-db:0.3.
  131. env:
  132. - name: MYSQL_ROOT_PASSWORD
  133. value: fake_password
  134. - name: MYSQL_DATABASE
  135. value: socksdb
  136. ports:
  137. - name: mysql
  138. containerPort:
  139. nodeSelector:
  140. beta.kubernetes.io/os: linux
  141. ---
  142. apiVersion: v1
  143. kind: Service
  144. metadata:
  145. name: catalogue-db
  146. labels:
  147. name: catalogue-db
  148. namespace: sock-shop
  149. spec:
  150. ports:
  151. # the port that this service should serve on
  152. - port:
  153. targetPort:
  154. selector:
  155. name: catalogue-db
  156. ---
  157. apiVersion: extensions/v1beta1
  158. kind: Deployment
  159. metadata:
  160. name: catalogue
  161. labels:
  162. name: catalogue
  163. namespace: sock-shop
  164. spec:
  165. replicas:
  166. template:
  167. metadata:
  168. labels:
  169. name: catalogue
  170. spec:
  171. containers:
  172. - name: catalogue
  173. image: reg.yunwei.edu/sock-shop/catalogue:0.3.
  174. ports:
  175. - containerPort:
  176. securityContext:
  177. runAsNonRoot: true
  178. runAsUser:
  179. capabilities:
  180. drop:
  181. - all
  182. add:
  183. - NET_BIND_SERVICE
  184. readOnlyRootFilesystem: true
  185. nodeSelector:
  186. beta.kubernetes.io/os: linux
  187. ---
  188. apiVersion: v1
  189. kind: Service
  190. metadata:
  191. name: catalogue
  192. labels:
  193. name: catalogue
  194. namespace: sock-shop
  195. spec:
  196. ports:
  197. # the port that this service should serve on
  198. - port:
  199. targetPort:
  200. selector:
  201. name: catalogue
  202. ---
  203. apiVersion: extensions/v1beta1
  204. kind: Deployment
  205. metadata:
  206. name: front-end
  207. namespace: sock-shop
  208. spec:
  209. replicas:
  210. template:
  211. metadata:
  212. labels:
  213. name: front-end
  214. spec:
  215. containers:
  216. - name: front-end
  217. image: reg.yunwei.edu/sock-shop/front-end:0.3.
  218. resources:
  219. requests:
  220. cpu: 100m
  221. memory: 100Mi
  222. ports:
  223. - containerPort:
  224. securityContext:
  225. runAsNonRoot: true
  226. runAsUser:
  227. capabilities:
  228. drop:
  229. - all
  230. readOnlyRootFilesystem: true
  231. nodeSelector:
  232. beta.kubernetes.io/os: linux
  233. ---
  234. apiVersion: v1
  235. kind: Service
  236. metadata:
  237. name: front-end
  238. labels:
  239. name: front-end
  240. namespace: sock-shop
  241. spec:
  242. type: NodePort
  243. ports:
  244. - port:
  245. targetPort:
  246. nodePort:
  247. selector:
  248. name: front-end
  249. ---
  250. apiVersion: extensions/v1beta1
  251. kind: Deployment
  252. metadata:
  253. name: orders-db
  254. labels:
  255. name: orders-db
  256. namespace: sock-shop
  257. spec:
  258. replicas:
  259. template:
  260. metadata:
  261. labels:
  262. name: orders-db
  263. spec:
  264. containers:
  265. - name: orders-db
  266. image: reg.yunwei.edu/sock-shop/mongo
  267. ports:
  268. - name: mongo
  269. containerPort:
  270. securityContext:
  271. capabilities:
  272. drop:
  273. - all
  274. add:
  275. - CHOWN
  276. - SETGID
  277. - SETUID
  278. readOnlyRootFilesystem: true
  279. volumeMounts:
  280. - mountPath: /tmp
  281. name: tmp-volume
  282. volumes:
  283. - name: tmp-volume
  284. emptyDir:
  285. medium: Memory
  286. nodeSelector:
  287. beta.kubernetes.io/os: linux
  288. ---
  289. apiVersion: v1
  290. kind: Service
  291. metadata:
  292. name: orders-db
  293. labels:
  294. name: orders-db
  295. namespace: sock-shop
  296. spec:
  297. ports:
  298. # the port that this service should serve on
  299. - port:
  300. targetPort:
  301. selector:
  302. name: orders-db
  303. ---
  304. apiVersion: extensions/v1beta1
  305. kind: Deployment
  306. metadata:
  307. name: orders
  308. labels:
  309. name: orders
  310. namespace: sock-shop
  311. spec:
  312. replicas:
  313. template:
  314. metadata:
  315. labels:
  316. name: orders
  317. spec:
  318. containers:
  319. - name: orders
  320. image: reg.yunwei.edu/sock-shop/orders:0.4.
  321. env:
  322. - name: ZIPKIN
  323. value: zipkin.jaeger.svc.cluster.local
  324. - name: JAVA_OPTS
  325. value: -Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom
  326. ports:
  327. - containerPort:
  328. securityContext:
  329. runAsNonRoot: true
  330. runAsUser:
  331. capabilities:
  332. drop:
  333. - all
  334. add:
  335. - NET_BIND_SERVICE
  336. readOnlyRootFilesystem: true
  337. volumeMounts:
  338. - mountPath: /tmp
  339. name: tmp-volume
  340. volumes:
  341. - name: tmp-volume
  342. emptyDir:
  343. medium: Memory
  344. nodeSelector:
  345. beta.kubernetes.io/os: linux
  346. ---
  347. apiVersion: v1
  348. kind: Service
  349. metadata:
  350. name: orders
  351. labels:
  352. name: orders
  353. namespace: sock-shop
  354. spec:
  355. ports:
  356. # the port that this service should serve on
  357. - port:
  358. targetPort:
  359. selector:
  360. name: orders
  361. ---
  362. apiVersion: extensions/v1beta1
  363. kind: Deployment
  364. metadata:
  365. name: payment
  366. labels:
  367. name: payment
  368. namespace: sock-shop
  369. spec:
  370. replicas:
  371. template:
  372. metadata:
  373. labels:
  374. name: payment
  375. spec:
  376. containers:
  377. - name: payment
  378. image: reg.yunwei.edu/sock-shop/payment:0.4.
  379. ports:
  380. - containerPort:
  381. securityContext:
  382. runAsNonRoot: true
  383. runAsUser:
  384. capabilities:
  385. drop:
  386. - all
  387. add:
  388. - NET_BIND_SERVICE
  389. readOnlyRootFilesystem: true
  390. nodeSelector:
  391. beta.kubernetes.io/os: linux
  392. ---
  393. apiVersion: v1
  394. kind: Service
  395. metadata:
  396. name: payment
  397. labels:
  398. name: payment
  399. namespace: sock-shop
  400. spec:
  401. ports:
  402. # the port that this service should serve on
  403. - port:
  404. targetPort:
  405. selector:
  406. name: payment
  407. ---
  408. apiVersion: extensions/v1beta1
  409. kind: Deployment
  410. metadata:
  411. name: queue-master
  412. labels:
  413. name: queue-master
  414. namespace: sock-shop
  415. spec:
  416. replicas:
  417. template:
  418. metadata:
  419. labels:
  420. name: queue-master
  421. spec:
  422. containers:
  423. - name: queue-master
  424. image: reg.yunwei.edu/sock-shop/queue-master:0.3.
  425. ports:
  426. - containerPort:
  427. nodeSelector:
  428. beta.kubernetes.io/os: linux
  429. ---
  430. apiVersion: v1
  431. kind: Service
  432. metadata:
  433. name: queue-master
  434. labels:
  435. name: queue-master
  436. annotations:
  437. prometheus.io/path: "/prometheus"
  438. namespace: sock-shop
  439. spec:
  440. ports:
  441. # the port that this service should serve on
  442. - port:
  443. targetPort:
  444. selector:
  445. name: queue-master
  446. ---
  447. apiVersion: extensions/v1beta1
  448. kind: Deployment
  449. metadata:
  450. name: rabbitmq
  451. labels:
  452. name: rabbitmq
  453. namespace: sock-shop
  454. spec:
  455. replicas:
  456. template:
  457. metadata:
  458. labels:
  459. name: rabbitmq
  460. spec:
  461. containers:
  462. - name: rabbitmq
  463. image: reg.yunwei.edu/sock-shop/rabbitmq:3.6.
  464. ports:
  465. - containerPort:
  466. securityContext:
  467. capabilities:
  468. drop:
  469. - all
  470. add:
  471. - CHOWN
  472. - SETGID
  473. - SETUID
  474. - DAC_OVERRIDE
  475. readOnlyRootFilesystem: true
  476. nodeSelector:
  477. beta.kubernetes.io/os: linux
  478. ---
  479. apiVersion: v1
  480. kind: Service
  481. metadata:
  482. name: rabbitmq
  483. labels:
  484. name: rabbitmq
  485. namespace: sock-shop
  486. spec:
  487. ports:
  488. # the port that this service should serve on
  489. - port:
  490. targetPort:
  491. selector:
  492. name: rabbitmq
  493. ---
  494. apiVersion: extensions/v1beta1
  495. kind: Deployment
  496. metadata:
  497. name: shipping
  498. labels:
  499. name: shipping
  500. namespace: sock-shop
  501. spec:
  502. replicas:
  503. template:
  504. metadata:
  505. labels:
  506. name: shipping
  507. spec:
  508. containers:
  509. - name: shipping
  510. image: reg.yunwei.edu/sock-shop/shipping:0.4.
  511. env:
  512. - name: ZIPKIN
  513. value: zipkin.jaeger.svc.cluster.local
  514. - name: JAVA_OPTS
  515. value: -Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom
  516. ports:
  517. - containerPort:
  518. securityContext:
  519. runAsNonRoot: true
  520. runAsUser:
  521. capabilities:
  522. drop:
  523. - all
  524. add:
  525. - NET_BIND_SERVICE
  526. readOnlyRootFilesystem: true
  527. volumeMounts:
  528. - mountPath: /tmp
  529. name: tmp-volume
  530. volumes:
  531. - name: tmp-volume
  532. emptyDir:
  533. medium: Memory
  534. nodeSelector:
  535. beta.kubernetes.io/os: linux
  536. ---
  537. apiVersion: v1
  538. kind: Service
  539. metadata:
  540. name: shipping
  541. labels:
  542. name: shipping
  543. namespace: sock-shop
  544. spec:
  545. ports:
  546. # the port that this service should serve on
  547. - port:
  548. targetPort:
  549. selector:
  550. name: shipping
  551. ---
  552. apiVersion: extensions/v1beta1
  553. kind: Deployment
  554. metadata:
  555. name: user-db
  556. labels:
  557. name: user-db
  558. namespace: sock-shop
  559. spec:
  560. replicas:
  561. template:
  562. metadata:
  563. labels:
  564. name: user-db
  565. spec:
  566. containers:
  567. - name: user-db
  568. image: reg.yunwei.edu/sock-shop/user-db:0.4.
  569. ports:
  570. - name: mongo
  571. containerPort:
  572. securityContext:
  573. capabilities:
  574. drop:
  575. - all
  576. add:
  577. - CHOWN
  578. - SETGID
  579. - SETUID
  580. readOnlyRootFilesystem: true
  581. volumeMounts:
  582. - mountPath: /tmp
  583. name: tmp-volume
  584. volumes:
  585. - name: tmp-volume
  586. emptyDir:
  587. medium: Memory
  588. nodeSelector:
  589. beta.kubernetes.io/os: linux
  590. ---
  591. apiVersion: v1
  592. kind: Service
  593. metadata:
  594. name: user-db
  595. labels:
  596. name: user-db
  597. namespace: sock-shop
  598. spec:
  599. ports:
  600. # the port that this service should serve on
  601. - port:
  602. targetPort:
  603. selector:
  604. name: user-db
  605. ---
  606. apiVersion: extensions/v1beta1
  607. kind: Deployment
  608. metadata:
  609. name: user
  610. labels:
  611. name: user
  612. namespace: sock-shop
  613. spec:
  614. replicas:
  615. template:
  616. metadata:
  617. labels:
  618. name: user
  619. spec:
  620. containers:
  621. - name: user
  622. image: reg.yunwei.edu/sock-shop/user:0.4.
  623. ports:
  624. - containerPort:
  625. env:
  626. - name: MONGO_HOST
  627. value: user-db:
  628. securityContext:
  629. runAsNonRoot: true
  630. runAsUser:
  631. capabilities:
  632. drop:
  633. - all
  634. add:
  635. - NET_BIND_SERVICE
  636. readOnlyRootFilesystem: true
  637. nodeSelector:
  638. beta.kubernetes.io/os: linux
  639. ---
  640. apiVersion: v1
  641. kind: Service
  642. metadata:
  643. name: user
  644. labels:
  645. name: user
  646. namespace: sock-shop
  647. spec:
  648. ports:
  649. # the port that this service should serve on
  650. - port:
  651. targetPort:
  652. selector:
  653. name: user

下载镜像文件

二、部署微服务

 
编辑complete-demo.yaml后,执行
#kubectl apply -f complete-demo.yaml
 
查看前端service的访问端口:
#kubectl get service -n sock-shop
 

三、登录浏览器验证(集群节点ip+端口:192.168.42.121:30001)

kubernets部署sock-shop微服务电商平台(11)的更多相关文章

  1. 第11篇Kubernetes部署微服务电商平台

        kubernetes部署sock-shop微服务电商平台: 准备条件   确保kubernetes可以访问:reg.yunwei.edu镜像库   需要准备镜像:       部署微服务   ...

  2. kubernets部署微服务电商平台

    一.准备条件 1) 确保kubernetes可以访问:reg.yunwei.edu镜像库(vim /etc/hosts) [root@cicd yml]# cat /etc/hosts 127.0.0 ...

  3. Kubernetes 部署微服务电商平台(16)

    一.概念 微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事.这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整 ...

  4. Kubernetes第十一章--部署微服务电商平台

  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(十三)——istio+dapr构建多运行时服务网格之生产环境部署

    之前所有的演示都是在docker for windows上进行部署的,没有真正模拟生产环境,今天我们模拟真实环境在公有云上用linux操作如何实现istio+dapr+电商demo的部署. 目录:一. ...

  6. ASP.NET Core基于K8S的微服务电商案例实践--学习笔记

    摘要 一个完整的电商项目微服务的实践过程,从选型.业务设计.架构设计到开发过程管理.以及上线运维的完整过程总结与剖析. 讲师介绍 产品需求介绍 纯线上商城 线上线下一体化 跨行业 跨商业模式 从0开始 ...

  7. 14 微服务电商【黑马乐优商城】:day06-了解vue-router和webpack的使用

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...

  8. 14 微服务电商【黑马乐优商城】:day04-项目搭建(一)

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...

  9. 14 微服务电商【黑马乐优商城】:day02-springcloud(搭建Eureka注册中心)

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...

随机推荐

  1. Window脚本学习笔记之BAT文件处理

    BAT文件处理 列出盘中特定文件名的文件: @echo offdir C:\*.jpg /b/s>.\CDatejpg.txt dir C:\*.png /b/s>.\CDatepng.t ...

  2. Petrozavodsk Winter Training Camp 2018 Jagiellonian U Contest Problem A. XOR

    先把所有的数异或起来 得到sum 然后sum有一些位是1一些位是0 是0的位表示所有数里面有这位的数是偶数个 则无论怎么划分数 这一位对最终的答案都是不会有贡献的  因为偶数=偶数+偶数/奇数+奇数 ...

  3. Python自动化测试PO模式

    页面元素定位信息 页面元素定位信息文件 [leadscloud_login] input_user_name = xpath>//*[@id='main']/div/div[2]/div[2]/ ...

  4. Ubuntu 搭建 Ftp 服务器

    1.在 ubuntu 中 下载 vsftpd  要是你安装了 vsftpd  输入:vsftpd -v ,会有版本提示 如果没有,则进行安装 vsftpd 输入  apt-get install vs ...

  5. CCPC 2016 杭州 E. Master of Subgraph(点分治+bitset优化DP)

    题目链接:http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf 题意:给定一棵有 n 个结点的树和一个数 m,对于 i ∈ ...

  6. 关于pageHelper无法查到总数踩到的坑

    问题代码 PageHelper.startPage(pageNum,pageSize); List<pojoVo> pojoVo=robotService.getPageList(); P ...

  7. Python--编码的疑惑

    XML语法分析器在处理的时候,使用的是Unicode字符串,并且将其返回.Unicode可以处理特殊字符,但是如果将Unicode字符串转换为普通字符串,就会引发异常,比如Print, >> ...

  8. 024_STM32程序移植之_ESP8266_TCP

    (一)实验目的:编写电脑软件通过ESP8266传输数据给STM32的,下面这张图 (二)上面只是简单地图,视频比较全面 视频教程:https://v.qq.com/x/page/o0829zs7iop ...

  9. Activiti服务类- HistoryService服务类

    转自:https://www.cnblogs.com/liuqing576598117/p/11164027.html 一共个方法15个方法 用于查询历史工作流信息1.创建查询(7个方法)//创建一个 ...

  10. CodeChef October Lunchtime 2019 Division 2

    HIT: Khaled in HIT 题目描述 Khaled 教练是 HIT(Hag Institute of Technology)一位名师.但是,他有一些困扰. 最近,Khaled 教练正在教一门 ...