• 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

  • 相关阅读:
    netty解决TCP的拆包和粘包的解决办法
    HTML图片热区map area的用法
    JWT应用
    React-router4简约教程
    axios中文文档
    如何区分Babel中的stage-0,stage-1,stage-2以及stage-3(一)
    python datetime offset-aware与offset-navie相互转换
    DJango跨域中间键
    Javacript实现倒计时
    CAN协议,系统结构和帧结构
  • 原文地址:https://www.cnblogs.com/orange-lsc/p/11908684.html
Copyright © 2020-2023  润新知