k8s学习:部署 PHP + Redis 留言薄
来自官网教程
Kubernetes Documentation
Tutorials
Stateless Applications
Example: Deploying PHP Guestbook application with Redis
Example: Deploying PHP Guestbook application with Redis
按照教程依次创建yaml文件并复制代码
[root@centos7-188 guestbook]# ls
frontend-deployment.yaml frontend-service.yaml redis-follower-deployment.yaml redis-follower-service.yaml redis-leader-deployment.yaml redis-leader-service.yaml
早先因为 image 总是被墙,所以,结果总是不对!
前天终于找到了方法:使用阿里云容器镜像的 github关联仓库,海外机器构建 Docker 镜像自行创建了 2 个镜像如下,目前是 open 的
registry.cn-beijing.aliyuncs.com/docker-dhbm/gb-frontend
registry.cn-beijing.aliyuncs.com/docker-dhbm/gb-redis-follower修改用到这 2 个 image 的文件
不会使用 sed 命令替换 image,只好 vim 手工替换
哪位知道的话,告知一下,谢过![root@centos7-188 guestbook]# vim redis-follower-deployment.yaml
# SOURCE: https://cloud.google.com/kubernetes-engine/docs/tutorials/guestbookapiVersion: apps/v1kind: Deploymentmetadata:name: redis-followerlabels:app: redisrole: followertier: backendspec:replicas: 2selector:matchLabels:app: redistemplate:metadata:labels:app: redisrole: followertier: backendspec:containers:- name: followerimage: registry.cn-beijing.aliyuncs.com/docker-dhbm/gb-redis-follower # gcr.io/google_samples/gb-redis-follower:v2resources:requests:cpu: 100mmemory: 100Miports:- containerPort: 6379-
[root@centos7-188 guestbook]# vim frontend-deployment.yaml
apiVersion: apps/v1kind: Deploymentmetadata:name: frontendspec:replicas: 3selector:matchLabels:app: guestbooktier: frontendtemplate:metadata:labels:app: guestbooktier: frontendspec:containers:- name: php-redisimage: registry.cn-beijing.aliyuncs.com/docker-dhbm/gb-frontend # gcr.io/google_samples/gb-frontend:v5env:- name: GET_HOSTS_FROMvalue: "dns"resources:requests:cpu: 100mmemory: 100Miports:- containerPort: 80-
另外,为了后续测试验证,将其中 2 个 service 改用 LoadBalancer 方式
如果不支持 LoadBalancer ,自行改成 NodePort,或者使用 port-forward
[root@centos7-188 guestbook]# vim redis-leader-service.yaml
# SOURCE: https://cloud.google.com/kubernetes-engine/docs/tutorials/guestbookapiVersion: v1kind: Servicemetadata:name: redis-leaderlabels:app: redisrole: leadertier: backendspec:type: LoadBalancerports:- port: 6379targetPort: 6379selector:app: redisrole: leadertier: backend
[root@centos7-188 guestbook]# vim frontend-service.yaml
# SOURCE: https://cloud.google.com/kubernetes-engine/docs/tutorials/guestbookapiVersion: v1kind: Servicemetadata:name: frontendlabels:app: guestbooktier: frontendspec:# if your cluster supports it, uncomment the following to automatically create# an external load-balanced IP for the frontend service.# type: LoadBalancertype: LoadBalancerports:# the port that this service should serve on- port: 80selector:app: guestbooktier: frontend
依次启动
kubectl apply -f redis-leader-deployment.yaml
kubectl apply -f redis-leader-service.yaml
kubectl apply -f redis-follower-deployment.yaml
kubectl apply -f redis-follower-service.yamlkubectl apply -f frontend-deployment.yaml
kubectl apply -f frontend-service.yaml确认 pods 和 svc 状态
[root@centos7-188 guestbook]# kubectl get pods -l app=guestbook -l tier=frontend
NAME READY STATUS RESTARTS AGEfrontend-6cb8c45cd5-2r5xv 1/1 Running 0 57mfrontend-6cb8c45cd5-bshtl 1/1 Running 0 57mfrontend-6cb8c45cd5-kh767 1/1 Running 0 57m
[root@centos7-188 guestbook]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEdemo ClusterIP 10.109.183.133 <none> 80/TCP 15ddemo1 LoadBalancer 10.103.29.98 192.168.1.240 80:32057/TCP 29hfrontend LoadBalancer 10.96.43.138 192.168.1.243 80:30521/TCP 48mkubernetes ClusterIP 10.96.0.1 <none> 443/TCP 15dredis-follower ClusterIP 10.102.140.9 <none> 6379/TCP 57mredis-leader LoadBalancer 10.104.163.223 192.168.1.244 6379:32365/TCP 29m
验证 guestbook 前端
[root@centos7-188 guestbook]# curl 192.168.1.243
浏览器查看
验证 redis 数据
$ redis-cli -h 192.168.1.244
192.168.1.244:6379> keys *1) "guestbook"192.168.1.244:6379> get guestbook",aaa,2222,sss,dddd,ZZZZZ"
9,清理现场
kubectl delete deployment -l app=redis
kubectl delete service -l app=redis
kubectl delete deployment frontend
kubectl delete service frontend
k8s学习:部署 PHP + Redis 留言薄相关推荐
- 在K8s上部署Redis 集群
一.前言 架构原理:每个Master都可以拥有多个Slave.当Master下线后,Redis集群会从多个Slave中选举出一个新的Master作为替代,而旧Master重新上线后变成新Master的 ...
- K8S 学习笔记三 核心技术 Helm nfs prometheus grafana 高可用集群部署 容器部署流程
K8S 学习笔记三 核心技术 2.13 Helm 2.13.1 Helm 引入 2.13.2 使用 Helm 可以解决哪些问题 2.13.3 Helm 概述 2.13.4 Helm 的 3 个重要概念 ...
- k8s学习笔记一集群部署
k8s安装笔记 基础环境配置 修改主机名: 修改hosts配置文件 安装依赖包 关闭防火墙并未Iptables设置空规则 关闭swap分区和linux虚拟内存 调整内核参数 调整系统时区 关闭系统不需 ...
- k8s学习-CKA真题-Pod指定节点部署
目录 题目 分析 命令 环境搭建 解题 结果 参考 题目 分析 创建一个Pod,名字为nginx-kusc00401,镜像地址是nginx,调度到具有disk=spinning标签的节点上. 命令 环 ...
- k8s学习笔记- 部署prometheus
1.Prometheus概述 Prometheus是一个开源监控系统,它前身是SoundCloud的警告工具包.从2012年开始,许多公司和组织开始使用Prometheus. 该项目的开发人员和用户社 ...
- .NET Core on K8S 学习与实践系列文章索引 (更新至20191126)
更新记录: -- 2019-11-26 增加Docker容器日志系列文章 近期在学习Kubernetes,基于之前做笔记的习惯,已经写了一部分文章,因此给自己立一个flag:完成这个<.NET ...
- .NET Core on K8S 学习与实践系列文章索引 (更新至20191116)
更新记录: -- 2019-11-16 增加Docker容器监控系列文章 // 此外,今天是11月17日,我又老了一岁,祝我自己生日快乐! 近期在学习Kubernetes,基于之前做笔记的习惯,已经写 ...
- 文章目录 | .NET Core on K8s学习之旅 (更新至20200618)
.NET Core on K8s学习之旅 更新记录: -- 20200511 增加Ingress & Nginx Ingress介绍 -- 20200515 增加Ocelot API网关集成示 ...
- ASP.NET Core on K8s学习之旅(14)Ingress灰度发布
[云原生]| 作者/Edison Zhou 这是恰童鞋骚年的第236篇原创文章 上一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和使用,然后我还录了一个快速分享小视频介绍了一 ...
- ASP.NET Core on K8s学习之旅(13)Ocelot API网关接入
[云原生]| 作者/Edison Zhou 这是恰童鞋骚年的第232篇原创文章 上一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和使用,考虑到很多团队都在使用Ocelot作为 ...
最新文章
- Database · 理论基础 · 关于一致性协议和分布式锁
- php 字符串 中文,PHP的中文字符串截取
- 优化asp.net ajax的脚本资源下载
- android 之UI 高级控件Adapter(适配器详解)
- 用Python Pandas处理亿级数据
- Discovery CentOS6.4 issue
- javascript 与vbscript 互相调用
- ntdll 异常代码0xc0000374_不要把异常当做业务逻辑,这性能可能你无法承受
- [补] windows C socket编程——大物实验预约
- Linux_CentOS-服务器搭建 六
- 用计算机转换层次的例子,两类层次分析法的转换及在应用中的比较-计算机工程与应用.PDF...
- PHP本地服务器localhost与数据库MySQL的综合运用
- 在eclipse中使用git创建本地库,以及托管项目到GitHub超详细教程
- C#图片处理之:图片缩放和剪裁
- linux卸载LILO命令,Linux lilo命令
- Mac 显示隐藏文件夹
- 2020:可视化的视觉问答LRTA: A Transparent Neural-Symbolic Reasoning Framework with Modular Supervision
- bdg2bw(macs2的peak要修正坐标)
- Linux下ps aux中进程状态为Ss,S+, Rs,Ds是什么意思?
- 基础算法一:大整数模积运算