在Kubernetes集群中使用Redis部署PHP留言簿应用程序(4)

[root@aniu-k8s guestbook]# kubectl get pods -l app=guestbook -l tier=frontend
NAME                      READY    STATUS    RESTARTS  AGE
frontend-67f65745c-lr25s  1/1      Running  0          1m
frontend-67f65745c-n798g  1/1      Running  0          1m
frontend-67f65745c-n92r4  1/1      Running  0          1m

创建前端服务

应用的redis-slave和redis-master服务只能在容器群集内访问,因为服务的默认类型是ClusterIP。 ClusterIP为服务指向的一组Pod提供一个IP地址。 该IP地址只能在群集内访问。

如果希望guest虚拟机能够访问您的留言簿,则必须将前端服务配置为外部可见,以便客户端可以从容器群集外部请求该服务。 Minikube只能通过NodePort公开服务

应用以下frontend-service.yaml文件中的前端服务

[root@aniu-k8s guestbook]# kubectl apply -f frontend-service.yaml
service "frontend" created

frontend-service.yam

apiVersion: v1
kind: Service
metadata:
  name: frontend
  labels:
    app: guestbook
    tier: frontend
spec:
  # comment or delete the following line if you want to use a LoadBalancer
  type: NodePort
  # if your cluster supports it, uncomment the following to automatically create
  # an external load-balanced IP for the frontend service.
  # type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: guestbook
    tier: frontend

查询服务列表以验证前端服务正在运

[root@aniu-k8s guestbook]# kubectl get services
NAME          TYPE        CLUSTER-IP      EXTERNAL-IP  PORT(S)        AGE
frontend      NodePort    10.103.1.159    <none>        80:31546/TCP  7s
kubernetes    ClusterIP  10.96.0.1        <none>        443/TCP        6d
redis-master  ClusterIP  10.109.193.22    <none>        6379/TCP      5m
redis-slave    ClusterIP  10.101.252.227  <none>        6379/TCP      4m

通过NodePort查看前端服务

如果您将此应用程序部署到Minikube或本地群集,则需要查找IP地址才能查看您的留言簿。

行以下命令获取前端服务的IP地址

minikube service frontend --url

复制IP地址,然后在浏览器中加载页面以查看您的留言簿。

通过LoadBalancer查看前端服务

运行以下命令获取前端服务的IP地址

[root@aniu-k8s guestbook]# kubectl get service frontend

复制外部IP地址,并在浏览器中加载页面以查看您的留言簿

扩展Web前端

放大或缩小很容易,因为我们的服务器被定义为使用部署控制器的服务

运行以下命令以放大前端Pod的数量

[root@aniu-k8s guestbook]# kubectl scale deployment frontend --replicas=5
deployment "frontend" scaled

查询Pod的列表以验证正在运行的前端Pod的数量

[root@aniu-k8s guestbook]# kubectl get pods
NAME                            READY    STATUS    RESTARTS  AGE
frontend-67f65745c-lr25s        1/1      Running  0          5m
frontend-67f65745c-n798g        1/1      Running  0          5m
frontend-67f65745c-n92r4        1/1      Running  0          5m
frontend-67f65745c-nsnfs        1/1      Running  0          7s
frontend-67f65745c-spjnm        1/1      Running  0          7s
redis-master-585798d8ff-g69wc  1/1      Running  0          10m
redis-slave-865486c9df-tjvfn    1/1      Running  0          8m
redis-slave-865486c9df-x76gb    1/1      Running  0          8m

运行以下命令以缩小前端Pod的数量:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a1568808b388a24ca27f73cde970bf87.html