kubectl命令使用记录

本文详细介绍了kubectl命令在Kubernetes中用于获取节点、Pod、Service、网络信息以及部署、删除操作,包括端口转发、镜像管理、健康检查和部署配置示例。
摘要由CSDN通过智能技术生成

kubectl命令

获取node的详细信息

wpc@LAPTOP-EESJ0GIE:~/minikube$ kubectl get node -o wide
NAME       STATUS   ROLES                  AGE     VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION                      CONTAINER-RUNTIME
minikube   Ready    control-plane,master   4h57m   v1.22.3   192.168.49.2   <none>        Ubuntu 20.04.2 LTS   5.10.16.3-microsoft-standard-WSL2   docker://20.10.8

获取pod的i详细信息

wpc@LAPTOP-EESJ0GIE:~/minikube$ kubectl get pod -o wide
NAME                               READY   STATUS    RESTARTS   AGE   IP           NODE       NOMINATED NODE   READINESS GATES
nginx-deployment-585449566-5k8jd   1/1     Running   0          68m   172.17.0.6   minikube   <none>           <none>
nginx-deployment-585449566-gcjhc   1/1     Running   0          68m   172.17.0.5   minikube   <none>           <none>

获取service的详细信息

wpc@LAPTOP-EESJ0GIE:~/minikube$ kubectl get svc -o wide
NAME            TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE     SELECTOR
kubernetes      ClusterIP      10.96.0.1     <none>        443/TCP        4h55m   <none>
nginx-service   LoadBalancer   10.97.66.22   <pending>     80:30228/TCP   98m     app=nginx

获取pod的描述

wpc@LAPTOP-EESJ0GIE:~/minikube$ kubectl describe pod nginx-deployment-585449566-5k8jd
Name:             nginx-deployment-585449566-5k8jd
Namespace:        default
Priority:         0
Service Account:  default

获取docker的network

wpc@LAPTOP-EESJ0GIE:~/minikube$ docker network ls
NETWORK ID     NAME       DRIVER    SCOPE
598cd1247a0a   bridge     bridge    local
374be1fce2bf   host       host      local
a1ab111d8e4f   minikube   bridge    local

获取network描述

wpc@LAPTOP-EESJ0GIE:~/minikube$ docker network inspect 0b9d5c6c95f6

获取服务的访问url

wpc@LAPTOP-EESJ0GIE:~/minikube$ minikube service nginx-service --url
http://192.168.49.2:30228

获取node的详细信息

wpc@LAPTOP-EESJ0GIE:~/minikube$ kubectl describe node minikube
Name:               minikube
Roles:              control-plane,master
Labels:             beta.kubernetes.io/arch=amd64

端口映射使得外部主机可以访问服务

kubectl port-forward service/nginx-service 8080:80

创建deployment和service

kubectl apply -f redis-deployment.yaml
kubectl apply -f redis-service.yaml

删除service和deployment

kubectl delete service <service-name>
kubectl delete deployment <deployment-name>

查看集群健康状态

wpc@LAPTOP-EESJ0GIE:~/minikube$ kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS      MESSAGE                                                                                       ERROR
scheduler            Unhealthy   Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection refused   
controller-manager   Healthy     ok                                                                                            
etcd-0               Healthy     {"health":"true","reason":""}  

删除部署

wpc@LAPTOP-EESJ0GIE:~/minikube$ kubectl delete -f my-go-application-deployment.yaml
deployment.apps "my-go-application-deployment" deleted

minikube加载本地镜像

minikube image load gin-test:v1

go本地镜像制作

FROM golang:1.20 AS builder

WORKDIR /tmp/app

COPY . .

ENV GOPROXY=https://goproxy.cn,direct

RUN go build -o main main.go

# 引入alphine最小linux镜像
FROM alpine

WORKDIR /data/app

# 复制生成的可执行命令和一些配置文件
COPY --from=builder /tmp/app/main .

RUN  mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2

CMD ["nohup", "/data/app/main", ">", "/dev/null", "&"]

deployment.yaml编写

apiVersion: apps/v1
kind: Deployment
metadata:
  name: gin-test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: gin-test
  template:
    metadata:
      labels:
        app: gin-test
    spec:
      containers:
      - name: gin-test
        image: gin-test:v1  # 替换为你的Docker镜像名称
        imagePullPolicy: Never
        ports:
        - containerPort: 8099

kubectl delete -f curl-deployment.yaml

kubectl delete -f curl-service.yaml

kubectl apply -f curl-deployment.yaml

kubectl apply -f curl-service.yaml

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值