使用Kubernetes创建PHP留言板系统(2)

# kubectl create -f redis-master-controller.yaml
# kubectl create -f redis-slave-controller.yaml
# kubectl create -f frontend-controller.yaml
# kubectl create -f redis-master-service.yaml
# kubectl create -f redis-slave-service.yaml
# kubectl create -f frontend-service.yaml
# kubectl get rc
# kubectl get svc
# kubectl get pod

使用Kubernetes创建PHP留言板系统

# kubectl describe pod redis-slave-gsk1p

使用Kubernetes创建PHP留言板系统

无法创建pod的原因主要是无法从本地仓库中拉取镜像,即使本地已经存在了这个镜像,也是报这个错误。因为kubernetes的imagePullPolicy获取镜像策略默认值为Always

使用Kubernetes创建PHP留言板系统

我们本地仓库的nginx配置了basic验证,故而报错如下
Error syncing pod, skipping: failed to "StartContainer" for "redis-slave" with ErrImagePull: "unauthorized: authentication required"
关闭nginx basic认证之后,再尝试一次,果然没有问题。

使用Kubernetes创建PHP留言板系统

Kubernetes中使用私有仓库并支持basic认证的最终解决方案是去配置kubernetes的serviceaccount,关于详细的配置将在后续的文章中进行介绍。

六、测试
1、查看redis master节点的redis集群信息

# kubectl exec redis-master-9993n redis-cli info |grep -A 5 "Replication"
# kubectl exec redis-slave-gnq41 redis-cli info |grep -A 5 "Replication"
# kubectl exec redis-slave-nvscp redis-cli info |grep -A 5 "Replication"

使用Kubernetes创建PHP留言板系统

2、web测试

使用Kubernetes创建PHP留言板系统

通过firebug插件可以看到是php+apache在提供web服务

使用Kubernetes创建PHP留言板系统

七、 rc和service的删除

# kubectl delete -f frontend-controller.yaml
# kubectl delete -f redis-master-controller.yaml
# kubectl delete -f redis-slave-controller.yaml
# kubectl delete -f redis-slave-service.yaml
# kubectl delete -f redis-master-service.yaml
# kubectl delete -f frontend-service.yaml

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

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