查看CPU内存占用指标
🍓 节点占用
Kubectl top nodes
🍓 pod占用
Kubectl top pods -A
pod操作命令
🍓 创建pod,ymal方式
kubectl apply -f xxxx.yaml
🍓 创建pod 命令
kubectl run 名称 --image=镜像名称
🍓 查询所有pod
kubectl get pods
🍓 查询指定名称空间pod
kubectl get pods -n 名称空间
🍓 查询pod带IP 节点信息
kubectl get pod -owide
🍓 删除pod
kubectl delete pod Pod名字
🍓 pod描述信息
kubectl describe pod Pod名字
🍓 pod日志信息
kubectl logs Pod名字
🍓 动态每秒查询状态信息
watch -n 1 kubectl get pods
🍓 动态打印pod状态变化信息
kubectl get pods -w
🍓 查看pod yml文件
kubectl get pod/pod名称 -oyaml
🍓 进入容器
kubectl exec -it 容器名称 -- /bin/bash
🍓 查看pod标签
kubectl get pods –show-lables
使用标签检索Pod
kubectl get pod -l app=my-dep
Namespace操作
🍓 创建
kubectl create ns hello
🍓 删除
kubectl delete ns hello
🍓 查询
kubectl get ns
Deployment操作
🍓 创建deployment
kubectl create deployment 名称 --image=镜像名称
🍓 删除deploy
kubectl delete deployment 名称
🍓 查询集群中的所有deploy
kubectl get deployment
🍓 查询指定deploy状态
kubectl rollout status deployment/my-dep
🍓 创建多副本 拥有自愈能力
kubectl create deployment 名称 --image=镜像名称 --replicas=3
🍓 缩扩容 pod的数量
kubectl scale --replicas=5 deployment/你创建的名称
kubectl edit deployment my-dep #修改 replicas
🍓 滚动更新pod版本
kubectl set image deployment/my-dep nginx=nginx:1.16.1 –record
🍓 查看更新历史记录
kubectl rollout history deployment/my-dep
🍓 查看某个历史详情
kubectl rollout history deployment/my-dep --revision=2
🍓 回滚(回到上次)
kubectl rollout undo deployment/my-dep
🍓 回滚(回到指定版本)
kubectl rollout undo deployment/my-dep --to-revision=2
🍓 查看deployment ymal
kubectl get deployment/名称 -oyaml
service服务
🍓 service服务暴露配置公共地址 默认内部集群地址
kubectl expose deployment deploy名称 --port=8000 --target-port=80
🍓 service服务暴露配置公共地址 指定暴露为为节点IP以及port
kubectl expose deployment my-dep --port=8000 --target-port=80 --type=NodePort
🍓 service删除服务暴露地址
Kubectl delete service deploy名称
🍓 service域名规则,只能在容器内使用
标签名称.名称空间.service 例如 my-app.default.service
Ingress规则
查看ingress规则
kubectl get ingress
域名转发规则
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-host-bar
spec:
ingressClassName: nginx
rules:
- host: "hello.atguigu.com"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: hello-server
port:
number: 8000
- host: "demo.atguigu.com"
http:
paths:
- pathType: Prefix
path: "/" # 把请求会转给下面的服务,下面的服务一定要能处理这个路径,不能处理就是404
backend:
service:
name: nginx-demo ## java,比如使用路径重写,去掉前缀nginx
port:
number: 8000
修改规则
Kubectl edit ingress ingress名称 -n 名称空间
路径重写
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
name: ingress-host-bar
spec:
ingressClassName: nginx
rules:
- host: "hello.atguigu.com"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: hello-server
port:
number: 8000
- host: "demo.atguigu.com"
http:
paths:
- pathType: Prefix
path: "/nginx(/|$)(.*)" # 把请求会转给下面的服务,下面的服务一定要能处理这个路径,不能处理就是404
backend:
service:
name: nginx-demo ## java,比如使用路径重写,去掉前缀nginx
port:
number: 8000
流量限制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-limit-rate
annotations:
nginx.ingress.kubernetes.io/limit-rps: "1"
spec:
ingressClassName: nginx
rules:
- host: "haha.atguigu.com"
http:
paths:
- pathType: Exact
path: "/"
backend:
service:
name: nginx-demo
port:
number: 8000
评论区