首页 > 其他分享 >kubernetes核心实战(八)--- service

kubernetes核心实战(八)--- service

时间:2022-10-11 13:34:06浏览次数:79  
标签:service kubernetes dep app --- yaml master node1 k8s

13、service

四层网络负载

kubernetes核心实战(八)--- service_f5

创建

[root@k8s-master-node1 ~/yaml/test]#
[root@k8s-master-node1 ~/yaml/test]# vim my-app.yaml
[root@k8s-master-node1 ~/yaml/test]# cat my-app.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: my-dep
name: my-dep
spec:
replicas: 3
selector:
matchLabels:
app: my-dep
template:
metadata:
labels:
app: my-dep
spec:
containers:
- image: nginx
name: nginx
[root@k8s-master-node1 ~/yaml/test]# kubectl apply -f my-app.yaml
deployment.apps/my-dep created
[root@k8s-master-node1 ~/yaml/test]#
[root@k8s-master-node1 ~/yaml/test]# kubectl get deployments.apps
NAME READY UP-TO-DATE AVAILABLE AGE
ingress-demo-app 2/2 2 2 155m
my-dep 3/3 3 3 71s
nfs-client-provisioner 1/1 1 1 140m
[root@k8s-master-node1 ~/yaml/test]#


使用标签查找

[root@k8s-master-node1 ~/yaml/test]# kubectl get pod --show-labels
NAME READY STATUS RESTARTS AGE LABELS
hello-27285682--1-q2p6x 0/1 Completed 0 3m15s controller-uid=5e700c2e-29b3-4099-be17-b005d8077284,job-name=hello-27285682
hello-27285683--1-b2qgn 0/1 Completed 0 2m15s controller-uid=d7455e28-bd37-4fdf-bf47-de7ae6b4b7bb,job-name=hello-27285683
hello-27285684--1-glsmp 0/1 Completed 0 75s controller-uid=9cc7f28d-e780-49fb-a23a-ab725413ea8a,job-name=hello-27285684
hello-27285685--1-s7ws5 0/1 ContainerCreating 0 15s controller-uid=169e3631-6981-4df8-bfee-6a4f4632b713,job-name=hello-27285685
ingress-demo-app-694bf5d965-8rh7f 1/1 Running 0 157m app=ingress-demo-app,pod-template-hash=694bf5d965
ingress-demo-app-694bf5d965-swkpb 1/1 Running 0 157m app=ingress-demo-app,pod-template-hash=694bf5d965
my-dep-5b7868d854-kzflw 1/1 Running 0 2m34s app=my-dep,pod-template-hash=5b7868d854
my-dep-5b7868d854-pfhps 1/1 Running 0 2m34s app=my-dep,pod-template-hash=5b7868d854
my-dep-5b7868d854-v67ll 1/1 Running 0 2m34s app=my-dep,pod-template-hash=5b7868d854
nfs-client-provisioner-dc5789f74-5bznq 1/1 Running 0 141m app=nfs-client-provisioner,pod-template-hash=dc5789f74
pi--1-k5cbq 0/1 Completed 0 25m controller-uid=2ecfcafd-f848-403b-b37f-9c145a0dc8cc,job-name=pi
redis-app-86g4q 1/1 Running 0 27m controller-revision-hash=77c8899f5d,name=fluentd-redis,pod-template-generation=1
redis-app-rt92n 1/1 Running 0 27m controller-revision-hash=77c8899f5d,name=fluentd-redis,pod-template-generation=1
redis-app-vkzft 1/1 Running 0 27m controller-revision-hash=77c8899f5d,name=fluentd-redis,pod-template-generation=1
web-0 1/1 Running 0 91m app=nginx,controller-revision-hash=web-57c5cc66df,statefulset.kubernetes.io/pod-name=web-0
web-1 1/1 Running 0 91m app=nginx,controller-revision-hash=web-57c5cc66df,statefulset.kubernetes.io/pod-name=web-1
web-2 1/1 Running 0 90m app=nginx,controller-revision-hash=web-57c5cc66df,statefulset.kubernetes.io/pod-name=web-2
[root@k8s-master-node1 ~/yaml/test]#
[root@k8s-master-node1 ~/yaml/test]#
[root@k8s-master-node1 ~/yaml/test]#
[root@k8s-master-node1 ~/yaml/test]# kubectl get pod -l app=my-dep
NAME READY STATUS RESTARTS AGE
my-dep-5b7868d854-kzflw 1/1 Running 0 2m42s
my-dep-5b7868d854-pfhps 1/1 Running 0 2m42s
my-dep-5b7868d854-v67ll 1/1 Running 0 2m42s
[root@k8s-master-node1 ~/yaml/test]#


命令行暴露端口

[root@k8s-master-node1 ~/yaml/test]# kubectl expose deployment my-dep --port=8000 --target-port=80
service/my-dep exposed
[root@k8s-master-node1 ~/yaml/test]#
[root@k8s-master-node1 ~/yaml/test]# kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-demo-app ClusterIP 10.96.145.40 <none> 80/TCP 158m
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 160m
my-dep ClusterIP 10.96.241.162 <none> 8000/TCP 11s
nginx ClusterIP None <none> 80/TCP 92m
[root@k8s-master-node1 ~/yaml/test]#


yaml文件暴露端口

apiVersion: v1
kind: Service
metadata:
labels:
app: my-dep
name: my-dep
spec:
selector:
app: my-dep
ports:
- port: 8000
protocol: TCP
targetPort: 80
  • yaml方式

apiVersion: v1
kind: Service
metadata:
labels:
app: my-dep
name: my-dep
spec:
ports:
- port: 8000
protocol: TCP
targetPort: 80
selector:
app: my-dep
type: ClusterIP
访问测试

[root@k8s-master-node1 ~/yaml/test]# curl -I 10.96.241.162:8000
HTTP/1.1 200 OK
Server: nginx/1.21.4
Date: Wed, 17 Nov 2021 09:30:27 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Tue, 02 Nov 2021 14:49:22 GMT
Connection: keep-alive
ETag: "61814ff2-267"
Accept-Ranges: bytes

[root@k8s-master-node1 ~/yaml/test]#


NodePort方式暴露
命令行


kubectl expose deployment my-dep --port=8000 --target-port=80 --type=NodePort



yaml方式

apiVersion: v1
kind: Service
metadata:
labels:
app: my-dep
name: my-dep
spec:
ports:
- port: 8000
protocol: TCP
targetPort: 80
selector:
app: my-dep
type: NodePort


查看service

[root@k8s-master-node1 ~/yaml/test]# kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-demo-app ClusterIP 10.96.145.40 <none> 80/TCP 165m
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 167m
my-dep NodePort 10.96.241.162 <none> 8000:32306/TCP 7m13s
nginx ClusterIP None <none> 80/TCP 99m
[root@k8s-master-node1 ~/yaml/test]#


访问测试

使用kubernetes任何node的ip都可以访问


[root@k8s-master-node1 ~/yaml/test]# curl -I 192.168.1.62:32306
HTTP/1.1 200 OK
Server: nginx/1.21.4
Date: Wed, 17 Nov 2021 09:36:50 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Tue, 02 Nov 2021 14:49:22 GMT
Connection: keep-alive
ETag: "61814ff2-267"
Accept-Ranges: bytes

[root@k8s-master-node1 ~/yaml/test]# curl -I 192.168.1.61:32306
HTTP/1.1 200 OK
Server: nginx/1.21.4
Date: Wed, 17 Nov 2021 09:36:53 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Tue, 02 Nov 2021 14:49:22 GMT
Connection: keep-alive
ETag: "61814ff2-267"
Accept-Ranges: bytes

[root@k8s-master-node1 ~/yaml/test]# curl -I 192.168.1.63:32306
HTTP/1.1 200 OK
Server: nginx/1.21.4
Date: Wed, 17 Nov 2021 09:36:56 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Tue, 02 Nov 2021 14:49:22 GMT
Connection: keep-alive
ETag: "61814ff2-267"
Accept-Ranges: bytes

[root@k8s-master-node1 ~/yaml/test]#



kubernetes核心实战(八)--- service_nginx_02

​https://www.zhihu.com/people/chen-bu-yun-2​

​https://space.bilibili.com/352476552/article​

​https://cloud.tencent.com/developer/column/93230​

知乎、、思否、哔哩哔哩、腾讯云


标签:service,kubernetes,dep,app,---,yaml,master,node1,k8s
From: https://blog.51cto.com/u_12212643/5746191

相关文章

  • kubernetes核心实战(二)---Pod+ReplicaSet
    3、podPod是可以在Kubernetes中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器;这些容器共享存储、网络、以及怎样运行这些......
  • kubernetes核心实战(五)--- StatefulSets
    7、StatefulSetsStatefulSet是用来管理有状态应用的工作负载API对象。StatefulSet用来管理Deployment和扩展一组Pod,并且能为这些Pod提供序号和唯一性保证。和Depl......
  • kubernetes核心实战(九)
    14、Ingress检查是否有安装[root@k8s-master-node1~/yaml/test]#kubectlgetpod,svc-ningress-nginxNAMEREADYSTATUS......
  • java.sql.SQLException: ORA-01000: maximum open cursors exceeded;问题的解决方法
    转:https://blog.csdn.net/ALEX_wxy/article/details/83901129ora-01000:maximumopencursorsexceeded:表示已经达到一个进程打开的最大游标数。1.主要原因:Java代码在执......
  • Python数据分析-基于pandas的数据清洗
    一、处理丢失数据(1)丢失数据的类型1)None2)np.nan(NaN)两种丢失数据的区别:type(None)NoneTypetype(np.nan)float 为什么在......
  • 二进制安装Kubernetes(k8s)IPv4/IPv6双栈 v1.24.0
    二进制安装Kubernetes(k8s)v1.24.0IPv4/IPv6双栈介绍kubernetes二进制安装1.23.3和1.23.4和1.23.5和1.23.6和1.24.0 文档以及安装包已生成。后续尽可能第一时......
  • 在Kubernetes上安装Netdata的方法
    介绍Netdata可用于监视kubernetes集群并显示有关集群的信息,包括节点内存使用率、CPU、网络等,简单的说,Netdata仪表板可让您全面了解Kubernetes集群,包括在每个节点上运行的......
  • 在k8s(kubernetes)上安装 ingress V1.1.3
    介绍Ingress公开了从集群外部到集群内服务的HTTP和HTTPS路由。流量路由由Ingress资源上定义的规则控制。下面是一个将所有流量都发送到同一Service的简单Ingres......
  • kubernetes(k8s) 安装 Prometheus + Grafana
    kubernetes(k8s)安装Prometheus+Grafana组件说明MetricServer:是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如kubectl,hpa,scheduler等。Pro......
  • 经GitHub将kubernetes镜像推送到阿里云
    背景在安装kubernetes时会出现无法访问镜像站的情况,通过GitHub将kubernetes镜像推送到阿里云之后,即可使用阿里云地址引用所需镜像,现已同步镜像5000+,当前还在陆续同步。仓......