kubernetes-网络访问测试

1.网络请求测试
创建deploment控制器
kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1

	[root@k8s-master /]# kubectl get pod -o wide
	NAME                            READY   STATUS    RESTARTS   AGE   IP            NODE        NOMINATED NODE   READINESS GATES
	client                          1/1     Running   0          32m   10.244.2.11   k8s-node2   <none>           <none>
	nginx-deploy-66ff98548d-xvbw8   1/1     Running   0          18s   10.244.1.17   k8s-node1   <none>           <none>

其中pod节点IP 属于节点的cni0桥网络 集群内的pod节点互相可以解析
创建service暴露nginx服务端口
kubectl expose deploy nginx-deploy --name=nginx --port=80 --target-port=80

	[root@k8s-master /]# kubectl get svc
	NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
	kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP   13d
	nginx        ClusterIP   10.106.160.157   <none>        80/TCP    7s

CLUSTER-IP 集群IP可以被集群节点curl访问
nginx 服务可以被解析成集群ClusterIP
dig -t A nginx.default.svc.cluster.local @10.96.0.10

	;; ANSWER SECTION:
	nginx.default.svc.cluster.local. 30 IN  A       10.106.160.157

创建一个pod客户端测试访问其他节点
kubectl run client --image=busybox --replicas=1 -it --restart=Never

/ # wget nginx
Connecting to nginx (10.106.160.157:80)
saving to 'index.html'
index.html           100% |******************************************************************************************************************************************|   612  0:00:00 ETA
'index.html' saved

pod节点可以访问其他pod节点服务并解析成对应的ClusterIP以及端口

通过service通过标签关联pod

[root@k8s-master /]# kubectl get pods --show-labels
NAME                            READY   STATUS    RESTARTS   AGE   LABELS
client                          1/1     Running   0          82m   run=client
nginx-deploy-66ff98548d-xvbw8   1/1     Running   0          49m   pod-template-hash=66ff98548d,run=nginx-deploy

[root@k8s-master /]# kubectl describe svc nginx
Name:              nginx
Namespace:         default
Labels:            run=nginx-deploy
Annotations:       <none>
Selector:          run=nginx-deploy
Type:              ClusterIP
IP:                10.106.160.157
Port:              <unset>  80/TCP
TargetPort:        80/TCP
Endpoints:         10.244.1.17:80
Session Affinity:  None
Events:            <none>

2.启动一个简单的应用的命令
kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1
kubectl expose deploy nginx-deploy --name=nginx --port=80 --target-port=80
kubectl run client --image=busybox --replicas=1 -it --restart=Never
kubectl get pod -w
kubectl set image deployment myapp myapp=ikubernetes/myapp:v2
kubectl scale --replicas=5 deployment myapp
kubectl rollout status deployment myapp
kubectl get pod pod_name -o yaml
kubectl edit deployment nginx-deploy
kubectl get pods --show-labels

posted @ 2019-11-21 21:56  薄荷少年郎微微凉  阅读(800)  评论(0编辑  收藏  举报