你可以通过在源 IP 应用程序上创建 Service 来测试源 IP 保留: kubectl expose deployment source-ip-app --name=clusterip --port=80 --target-port=8080 输出为: service/clusterip exposed kubectl get svc clusterip 输出类似于: NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE clusterip ClusterIP 10.0....
我们知道Kubernetes里的所有pod都可以彼此通信,而不需要通过网络地址转换(Network Address Translation-NAT),所有的节点也可以与所有的pod通信。而Service的Cluster IP,是一个内部的IP地址,专门用于同Cluster内部的节点或者pod通信。同外界通信,还是通过External IP进行。 NodePort 再试试NodePort。 kubectl expose deployment ...
$ kubectlgetsvcinfluxdbNAMECLUSTER-IPEXTERNAL-IPPORT(S) AGEinfluxdb10.97.121.4210.13.242.2368086:30051/TCP39s Kubernetes首先为influxdb创建了一个集群内部可以访问的ClusterIP 10.97.121.42。由于没有指定nodeport端口,kubernetes选择了一个空闲的30051主机端口将service暴露在主机的网络上,然后通知cloud provider创建了...
NodePort service的客户端源IP 当我们通过NodeIP:NodePort访问NodePort类型的service时,默认情况下,肯定会发生SNAT,服务端看到的ip地址是NodeIP对应的k8s node的ip地址。 (1)创建NodePort类型的service # kubectl expose deployment echoserver --name=echoserver --type=NodePort --port=80 --target-port=8080 service...
四、Service服务类型 4.1 ClusterIP:集群内部使用 4.2 NodePort:对外暴露应用(集群外) 4.3 LoadBanlancer:对外暴露应用,适用于公有云 4.4 ExternalName类型示例 4.5 ExternalIP示例 五、Servcie代理模式 5.1 kubeadm放式修改ipvs模式 5.2 二进制方式修改ipvs模式 ...
kubectl expose deployment hello-world--type=LoadBalancer--name=my-service 5、显示有关Service的信息: kubectlgetservicesmy-service 输出: NAME CLUSTER-IP EXTERNAL-IP PORT(S)AGEmy-service10.3.245.137104.198.205.718080/TCP54s 注意:如果外部IP地址显示为<pending>,请等待一分钟再次输入相同的命令。
$ expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] 示例 为RC的nginx创建service,并通过Service的80端口转发至容器的8000端口上。
使用kubectl expose指令时还需要用参数--port和--target-port分别指定映射端口和容器端口,而 Service 自己的 IP 地址和后端 Pod 的 IP 地址可以自动生成,用法上和 Docker 的命令行参数-p很类似,只是略微麻烦一点。 例如,我们对Deployment 笔记中的ngx-dep对象生成 Service ,命令就应该这样写: ...
service是k8s中的一个重要概念,主要是提供负载均衡和服务自动发现。 Service 是由 kube-proxy 组件,加上 iptables 来共同实现的。 1.2.Service的创建 创建Service的方法有两种: 1.通过kubectl expose创建 代码语言:javascript 复制 #kubectl expose deployment nginx--port=88--type=NodePort--target-port=80--name=...
$ kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP|SCTP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] kubectl expose rc nginx --port=80 --target-port=8000 ...