创建 StatefulSet
创建 StatefulSet
打开两个终端窗口:
在第一个终端中,使用 kubectl get 来监视 StatefulSet 的 Pod 的创建情况:
$ kubectl get pod -w -l app=nginx
在另一个终端中,使用 kubectl apply 来创建定义在 web-statefulset.yaml 中的 Headless Service 和 StatefulSet:
$ kubectl apply -f web-statefulset.yaml service/nginx created statefulset.apps/web created
查看相关信息
获取 nginx Service:
$ kubectl get service nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx ClusterIP None <none> 80/TCP 111s
然后获取 web StatefulSet,以验证两者均已成功创建:
$ kubectl get sts web
NAME READY AGE
web 2/2 2m44s
第一个终端中的输出内容如下:
$ kubectl get pod -w -l app=nginx
web-0 0/1 Pending 0 0s
web-0 0/1 Pending 0 0s
web-0 0/1 ContainerCreating 0 0s
web-0 0/1 ContainerCreating 0 0s
web-0 1/1 Running 0 1s
web-1 0/1 Pending 0 0s
web-1 0/1 Pending 0 0s
web-1 0/1 ContainerCreating 0 0s
web-1 0/1 ContainerCreating 0 1s
web-1 1/1 Running 0 2s
此时使用 StatefulSet 部署了两个 Pod,分别为 web-0、web-1,同时也创建了一个 CLUSTER-IP 为 None的 Headless Service,在同一个命名空间内使用 web-0.nginx 和 web-1.nginx 即可访问这两个 Pod,跨命名空间可以使用 web-0.nginx.default 访问(跨命名空间访问资源的情况很少,应当尽量规避)。
最后更新于
这有帮助吗?