-
按照教程依次创建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.yaml
kubectl 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 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 443/TCP 15dredis-follower ClusterIP 10.102.140.9 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"