建立一个Service和一个Pod做为其后端。经过kubectl describe得到该Service和对应Endpoints的信息。nginx
<hwcka-004-1-svc-你的华为云id>
<hwcka-004-1-pod-你的华为云id>
首先建立 pod,注意添加标签。由于Pod和Service会经过标签关联起来。后端
[root@svn ch4]# cat pod.yaml apiVersion: v1 kind: Pod metadata: name: hwcka-004-1-pod-joyo labels: app: nginx spec: containers: - name: nginx image: nginx:alpine [root@svn ch4]# kubectl apply -f pod.yaml pod/hwcka-004-1-pod-joyo created [root@svn ch4]# kubectl get pod NAME READY STATUS RESTARTS AGE busybox 1/1 Running 13 20h hwcka-004-1-pod-joyo 1/1 Running 0 13s [root@svn ch4]#
接着把 pod 暴露为 serviceapi
kubectl expose pod hwcka-004-1-pod-joyo --port=8888 --target-port=80 --name=hwcka-004-1-svc-joyo
测试和验证:app
[root@svn ch4]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hwcka-004-1-svc-joyo ClusterIP 10.101.211.222 <none> 8888/TCP 4m19s kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 41d [root@svn ch4]# kubectl get ep NAME ENDPOINTS AGE hwcka-004-1-svc-joyo 10.244.2.179:80 8m22s kubernetes 192.168.202.130:6443 41d [root@svn ch4]# k describe svc hwcka-004-1-svc-joyo Name: hwcka-004-1-svc-joyo Namespace: default Labels: app=nginx Annotations: <none> Selector: app=nginx Type: ClusterIP IP: 10.101.211.222 Port: <unset> 8888/TCP TargetPort: 80/TCP Endpoints: 10.244.2.179:80 Session Affinity: None Events: <none>
而且运行curl 10.244.2.179:80
和curl 10.101.211.222:8888
都能看到Welcome to nginx!
的欢迎页面。curl
建立一个Service和一个Pod做为其后端。经过nslookup查询该Service的Pod的域名信息。svn
<hwcka-004-2-你的华为云id>
首先建立Pod。测试
kubectl run nginx --image=nginx:alpine --generator=run-pod/v1
而后暴露Pod为Service。url
kubectl expose pod nginx --port=8888 --target-port=80 --name=hwcka-004-2-joyo
Service和Pod的域名信息spa
[root@svn ch4]# kubectl exec -it busybox -- nslookup hwcka-004-2-joyo Server: 10.96.0.10 Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local Name: hwcka-004-2-joyo Address 1: 10.110.24.8 hwcka-004-2-joyo.default.svc.cluster.local [root@svn ch4]# kubectl exec -it busybox -- nslookup nginx Server: 10.96.0.10 Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local Name: nginx Address 1: ::ffff:67.215.82.154 Address 2: 67.215.82.154
busybox.yaml的内容(考试环境下,不容许下载nslookup软件包,可是能够pull 镜像,因而咱们使用busybox:1.28里面的nslookup命令)rest
apiVersion: v1 kind: Pod metadata: name: busybox namespace: default spec: containers: - name: busybox image: busybox:1.28 command: - sleep - "3600" imagePullPolicy: IfNotPresent restartPolicy: Always