Create a nginx pod called nginx-resolver
using image nginx
, expose it internally with a service called nginx-resolver-service
. Test that you are able to look up the service and pod names from within the cluster. Use the image: busybox:1.28
for dns lookup. Record results in /root/CKA/nginx.svc
and /root/CKA/nginx.pod
Pod: nginx-resolver created
Service DNS Resolution recorded correctly
Pod DNS resolution recorded correctly
k run nginx-resolver --image=nginx
apiVersion: v1
kind: Service
metadata:
name: nginx-resolver-service
spec:
selector:
name: busybox
clusterIP: None
ports:
- name: foo # name is not required for single-port Services
port: 1234
---
apiVersion: v1
kind: Pod
metadata:
name: busybox
labels:
name: busybox
spec:
hostname: busybox-1
subdomain: busybox-subdomain
containers:
- image: busybox:1.28
name: busybox
kubectl exec -i -t
nginx-resolver -- nslookup kubernetes.default
Use the command kubectl run
and create a nginx pod and busybox pod. Resolve it, nginx service and its pod name from busybox
pod.
To create a pod nginx-resolver
and expose it internally:
kubectl run nginx-resolver --image=nginx
kubectl expose pod nginx-resolver --name=nginx-resolver-service --port=80 --target-port=80 --type=ClusterIP
To create a pod test-nslookup
. Test that you are able to look up the service and pod names from within the cluster:
kubectl run test-nslookup --image=busybox:1.28 --rm -it --restart=Never -- nslookup nginx-resolver-service
kubectl run test-nslookup --image=busybox:1.28 --rm -it --restart=Never -- nslookup nginx-resolver-service > /root/CKA/nginx.svc
Get the IP of the nginx-resolver
pod and replace the dots(.) with hyphon(-) which will be used below.
kubectl get pod nginx-resolver -o wide
kubectl run test-nslookup --image