k8s入门操作
kubectl -->apiserver
管理工具 管理k8s集群 增删改查node
kubectl get service/node/replicaset/deployment/statefulet/daemonset/job/cronjob
kubectl --help 查看所有用法
kubectl describe node node1 查看描述节点
kubectl version 查看版本
kubectl cluster-info 查看集群
增
kubectl run --help
kubectl run nginx --image=nginx
控制器名称/pod名 指定镜像
kubectl run nginx-deploy --image=nginx:1.14 --port=80 --replicas=3 --dry-run=true
暴露端口 创建3个副本 干跑(不会跑起来)
kubectl run nginx-deploy --image=nginx:1.14 --port=80 --replicas=3
kubectl run client --image=busybox --replicas=1 -it --restart=Never
交互输入终端 不会重启
kubectl get deployment
查看deployment控制信息
kubectl get pods
查看pod
kubectl get pods -o wide
显示更多的信息
curl 10.244.2.2 pod网络可在k8s集群中任一node访问 pod的客户端:其他pod 集群外的客户端
kubectl delete pod nginx-deploy-bc9ff65dd-72gjq
删除pod
kubectl delete pod pod名 删除之后deployment会重建pod保持3个副本
kubectl expose --help 创建service 暴露服务 serive_ip:service_port 转发到pod的ip和端口
kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80
控制器类型 控制器名 service name service端口 映射的容器端口
kubectl get service 查看创建的服务
curl 10.103.245.170 service网络是集群内部的网络 只能在集群内访问
kubectl get pods -n kube-system -o wide 查看core_dns
kubectl get service -n kube-system 查看coredns的service服务
kubectl describe service nginx 查看nginx服务的详细描述信息
kubectl get pods --show-labels 查看pod并显示label标签 service通过label识别pod
kubectl edit service nginx 修改服务
kubectl delete service nginx 删除服务
kubectl expose deployment nginx-deploy --name=nginx
kubectl describe deployment nginx-deploy 查看创建的控制器描述信息
kubectl run myapp --image=ikubernetes/myapp:v1 --replicas=2
kubectl get deployment -w -w监控创建过程
kubectl get pods -o wide 查看myapp
在client的pod内测试访问myapp的ip
wget -O - -q 10.244.2.3
wget -O - -q 10.244.1.9/hostname.html host名称
kubectl expose deployment myapp --name=myapp --port=80 暴露服务
kubectl get svc 查看暴露的服务
在client的pod内测试访问myapp的service名称
wget -O - -q myapp/hostname.html
while true;do wget -O - -q myapp/hostname.html; sleep 1 ;done
kubectl scale --help 改变规模
kubectl scale --replicas=5 deployment myapp 改成5个副本
kubectl get pods 查看一下
kubectl scale --replicas=5 deployment myapp 减到1个副本
kubectl describe pods myapp-746644f8d6-45r2x 查看pod的容器名
kubectl set image deployment myapp myapp=ikubernetes/myapp:v2 升级镜像
控制器 容器名 容器名=镜像名
kubectl rollout status deployment myapp 查看容器更新过程
kubectl rollout undo deployment myapp myapp回滚
iptables -vnL -t nat 查看service规则
外部访问:
kubectl edit service myapp
修改
type: NodePort
查看myapp映射端口 外部访问的是后面那个端口
kubectl get svc
结果:80:31771/TCP
外部访问master或node加上后面那个端口即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器