k8s常用命令

1.获取所有命名空间
kubectl get ns
2.获取所有某个命名空间的所有pods
kubectl get pods –namespace nginx-ingress
3.获取命名空间下的所有服务【它会返回服务的IP和端口】
kubectl get svc -n istio-system 或 kubectl get service -n istio-system

[root@k8smaster ~]# kubectl get svc
NAME          TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
details       ClusterIP   10.96.191.232   <none>        9080/TCP   26h
kubernetes    ClusterIP   10.96.0.1       <none>        443/TCP    12d
productpage   ClusterIP   10.96.167.107   <none>        9080/TCP   26h
ratings       ClusterIP   10.96.29.174    <none>        9080/TCP   26h
reviews       ClusterIP   10.96.0.213     <none>        9080/TCP   26h

4.直接访问某个服务及相应端号。
curl -v 10.96.167.107:9080
5.容器的IP段为10.100.xxx.xxx,而ClusterIP又是存放在哪里呢?它实际上是不存在的但却是被kube-proxy分配和保存在iptables上的。
iptables -S -t nat

[root@k8sworker ~]# iptables -S -t nat|grep 10.96.167.107
-A KUBE-SERVICES ! -s 10.100.0.0/16 -d 10.96.167.107/32 -p tcp -m comment --comment "default/productpage:http cluster IP" -m tcp --dport 9080 -j KUBE-MARK-MASQ
-A KUBE-SERVICES -d 10.96.167.107/32 -p tcp -m comment --comment "default/productpage:http cluster IP" -m tcp --dport 9080 -j KUBE-SVC-ROH4UCJ7RVN2OSM4