废话不多性,我们直接进入主题,先拿Nginx测试,主演示一下yaml的写法
一 statefulset
我们为statefulset设置了3个副本,从0开始标号,创建3个副本,把自动创建PV和PVC设置上
statefulset.yaml
apiVersion: apps/v1 kind: StatefulSet metadata: labels: app: web name: web spec: replicas: 3 selector: matchLabels: app: web serviceName: "headless-web" template: metadata: labels: app: web spec: containers: - image: nginx imagePullPolicy: IfNotPresent name: web ports: - containerPort: 8080 volumeMounts: - name: www mountPath: /usr/share/nginx/html volumeClaimTemplates: - metadata: name: www spec: storageClassName: "managed-nfs-storage" accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi
二 headless-svc
headless-svc.yaml
apiVersion: v1 kind: Service metadata: name: headless-web spec: clusterIP: None ports: - port: 80 protocol: TCP selector: app: web
可以看到,CLUSTER-IP是None
启动Pod
kubectl run test -it --rm --image=busybox -- sh nslookup headless-web
域名解析结果
通过<Pod Name>.<Headless Service>在容器里访问
curl web-0.headless-web
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/4081.html