Kubernetes Service Operations: Difference between revisions
Jump to navigation
Jump to search
Line 51: | Line 51: | ||
* Deploy an auxiliary pod, [[Kubectl_exec|kubectl exec]] into it and attempt to connect to the target pods via the service. | * Deploy an auxiliary pod, [[Kubectl_exec|kubectl exec]] into it and attempt to connect to the target pods via the service. | ||
* ssh into a [[Kubernetes_Control_Plane_and_Data_Plane_Concepts#Node|Kubernetes node]] and use the [[curl]] command from there. | * ssh into a [[Kubernetes_Control_Plane_and_Data_Plane_Concepts#Node|Kubernetes node]] and use the [[curl]] command from there. | ||
Check: | |||
* Make sure to connect to a ClusterIP service from within the cluster not from outside. |
Revision as of 01:20, 21 September 2020
Internal
List Services
kubectl [-n <namespace>] get svc
Describe a Service
kubectl [-o yaml] get svc <service-name>
kubectl describe svc <service-name>
Create a Service
With CLI
A service of any type (ClusterIP, NodePort, LoadBalancer, or ExternalName) can be created with the kubectl expose command.
More details:
With Metadata
Describe the service in a metadata YAML file:
apiVersion: v1
kind: Service
metadata:
name: some-service
spec:
selector:
function: serves-http
ports:
- port: 80
targetPort: 8888
More details about the service manifest available in:
POST it with:
kubectl apply -f ./service.yaml
Service Troubleshooting
Services can be tested as follows:
- Deploy an auxiliary pod, kubectl exec into it and attempt to connect to the target pods via the service.
- ssh into a Kubernetes node and use the curl command from there.
Check:
- Make sure to connect to a ClusterIP service from within the cluster not from outside.