当前位置:网站首页>Kubernetes resource object introduction and common commands (III)
Kubernetes resource object introduction and common commands (III)
2022-07-03 17:11:00 【Silly [email protected]】
Service
A set of Pods An abstract method that is exposed as a network service . It can also be understood as Pod Service discovery and load balancing .
Service discovery and load balancing :Service Will detect pod The state of , Traffic will only be sent to normal with average scores pod in .

establish Service
expose Deploy. port 8000.
Command line mode
[[email protected] ~]# kubectl expose deployment my-app --port=8000 --target-port=80
service/my-app exposed
[[email protected] ~]# kubectl get service
yaml The way ,service.yml
apiVersion: v1
kind: Service
metadata:
labels:
app: my-app
name: my-app
spec:
selector:
app: my-app
ports:
- port: 8000
protocol: TCP
targetPort: 80
[[email protected] ~]# kubectl apply -f service.yml
service/my-app created
[[email protected] ~]#
see Service
[[email protected] ~]# kubectl get service -n default
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23h
my-app ClusterIP 10.96.2.98 <none> 8000/TCP 6s
[[email protected] ~]#
You can see what we created above Service Of ip by 10.96.2.98.
[[email protected] ~]# curl 10.96.2.98:8000
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
...
</html>
[[email protected] ~]#
Be careful : We can use ip:8000 In the form of any node access in the cluster . We can also do that pod Inside Use domain name : port Form access . The form of domain name :service name . Namespace .svc: port . for example :my-app.default.svc:8000.
Expand :
see pod label
[[email protected] ~]# kubectl get pod [podname] --show-labels
NAME READY STATUS RESTARTS AGE LABELS
my-app-5ff664f457-l7792 1/1 Running 1 20h app=my-app,pod-template-hash=5ff664f457
my-app-5ff664f457-r69z5 1/1 Running 1 20h app=my-app,pod-template-hash=5ff664f457
my-app-5ff664f457-w2d6q 1/1 Running 1 20h app=my-app,pod-template-hash=5ff664f457
my-app-5ff664f457-xsz9l 1/1 Running 1 20h app=my-app,pod-template-hash=5ff664f457
[[email protected] ~]#
Use tags to retrieve Pod
[[email protected] ~]# kubectl get pod -l app=my-app
NAME READY STATUS RESTARTS AGE
my-app-5ff664f457-l7792 1/1 Running 1 20h
my-app-5ff664f457-r69z5 1/1 Running 1 20h
my-app-5ff664f457-w2d6q 1/1 Running 1 20h
my-app-5ff664f457-xsz9l 1/1 Running 1 20h
[[email protected] ~]#
Delete Service
[[email protected] ~]# kubectl delete service my-app
service "my-app" deleted
[[email protected] ~]#
ClusterIP

We created Service The default is ClusterIP, It's called clustering ip, It can only be used inside the cluster . Equate to :
kubectl expose deployment my-app --port=8000 --target-port=80 --type=ClusterIP
apiVersion: v1
kind: Service
metadata:
labels:
app: my-app
name: my-app
spec:
ports:
- port: 8000
protocol: TCP
targetPort: 80
selector:
app: my-app
type: ClusterIP
NodePort

Created this way Service It can also be accessed outside the cluster . Because he will be in every pod Show a new port .
Command line mode
[[email protected] ~]# kubectl expose deploy my-app --port=8000 --target-port=80 --type=NodePort
service/my-app exposed
[[email protected] ~]#
yaml The way .service.yml
apiVersion: v1
kind: Service
metadata:
labels:
app: my-app
name: my-app
spec:
ports:
- port: 8000
protocol: TCP
targetPort: 80
selector:
app: my-app
type: NodePort
kubectl apply -f service.yml
[[email protected] ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 25h
my-app NodePort 10.96.198.191 <none> 8000:32047/TCP 39s
[[email protected] ~]#
Contrast found in PORT(S) A mapping port is added in 32047, This port is available on every node , Can pass node ip:30247 Access outside the cluster .

NodePort In addition to being accessible outside the cluster , The rest and ClusterIP Agreement .
Summary
NodePort The scope is 30000-32767 Randomly generated between . ClusterIP Can only be used within a cluster . NodePort Can pass node ip: new portAccess outside the cluster .Whether it's ClusterIP still NodePort, Will generate CLUSTER-IP, It can be used in the cluster .Use ip: portTo use on cluster nodes , anddomain name : portTo be in pod Internal use .How to write a domain name : service name . In the namespace .svc
This paper is written by mdnice Multi platform Publishing
版权声明
本文为[Silly [email protected][email protected]]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/184/202207031706234030.html
边栏推荐
- Squid 服务启动脚本
- New features of C 10
- One brush 148 force deduction hot question-5 longest palindrome substring (m)
- 定义一个结构体Fraction,表示分数,用于表示 2/3, 5/6这样的分数
- Atom QT 16_ audiorecorder
- Kotlin learning quick start (7) -- wonderful use of expansion
- Capacités nécessaires à l'analyse des données
- Financial management (Higher Vocational College) financial management online Assignment 1 in autumn 20
- 静态程序分析(一)—— 大纲思维导图与内容介绍
- Unity notes unityxr simple to use
猜你喜欢

2021 ICPC regional competition (Shanghai) g.edge groups (tree DP)

Cross border e-commerce: advantages of foreign trade enterprises in overseas social media marketing

Network security web penetration technology

Life is still confused? Maybe these subscription numbers have the answers you need!

Take you to API development by hand

人生还在迷茫?也许这些订阅号里有你需要的答案!

【RT-Thread】nxp rt10xx 设备驱动框架之--hwtimer搭建和使用

Talk about several methods of interface optimization

手把手带你入门 API 开发

MySQL Basics
随机推荐
SVN如何查看修改的文件记录
Vs code plug-in korofileheader
C语言字符串练习
SVN完全备份svnadmin hotcopy
手把手带你入门 API 开发
Mysql database DDL and DML
远程办公之如何推进跨部门项目协作 | 社区征文
Simple use of unity pen XR grab
Leetcode13. Roman numeral to integer (three solutions)
Squid service startup script
visual studio “通常每个套接字地址(协议/网络地址/端口)只允许使用一次“
C language string practice
kubernetes资源对象介绍及常用命令(四)
數據分析必備的能力
Electronic Science and technology 20th autumn "Microcomputer Principle and application" online assignment 2 [standard answer]
Define a structure fraction to represent a fraction, which is used to represent fractions such as 2/3 and 5/6
Deep understanding of grouping sets statements in SQL
匯編實例解析--實模式下屏幕顯示
mysql用户管理
An example of HP array card troubleshooting