k8s常用命令

查看集群所有节点

kubectl get nodes  

根据配置文件,给集群创建资源

kubectl apply -f xxxx.yaml

查看集群部署了哪些应用?

kubectl get pods -A  === docker ps    

运行中的应用在docker里面叫容器,在k8s里面叫Pod

kubectl get pods -A

创建删除名称空间

kubectl create ns hello
kubectl delete ns hello

运行一个nginx容器

kubectl run mynginx --image=nginx

每秒监控查看default名称空间的Pod

watch -n 1 kubectl get pod

或打印pod变化过程

kubectl get pod -w

查看描述pod的详细信息

kubectl describe pod  Pod名字

删除pod

kubectl delete pod Pod名字

查看Pod的运行日志

kubectl logs Pod名字

查看pod的详细信息

kubectl get pod -owide

查看pod标签

kubectl get pod --show-labels

使用Deployment创建 拥有自愈能力

kubectl create deployment mytomcat --image=tomcat:8.5.68

使用Deployment创建多副本

kubectl create deployment my-dep --image=nginx --replicas=3
工作负载:
Deployment:无状态应用部署,比如微服务,提供多副本等功能
StatefulSet:有状态应用部署,比如redis,提供稳定的存储、网络等功能
DaemonSet:守护型应用部署,比如日志收集组件,在每个机器都运行一份
Job/CronJob:定时任务部署,比如垃圾清理组件,可以在指定时间运行

官方文档相关介绍:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/

扩缩容

kubectl scale --replicas=5 deployment/my-dep

滚动更新

kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record
kubectl  status deployment/my-dep

版本回退

#历史记录
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

Service将一组 Pods 公开为网络服务的抽象方法。

#暴露Deploy 
kubectl expose deployment my-dep --port=8000 --target-port=80

#查看pod标签
kubectl get pod --show-lables
#使用标签检索Pod
kubectl get pod -l app=my-dep

ClusterIP 默认集群ip 只能内部访问

# 等同于没有--type的
kubectl expose deployment my-dep --port=8000 --target-port=80 --type=ClusterIP

NodePort 集群外部也可以访问

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

Ingress

Ingress 公开从集群外部到集群内服务的 HTTP 和 HTTPS 路由,Ingress 可为 Service 提供外部可访问的 URL、负载均衡流量、终止 SSL/TLS,以及基于名称的虚拟托管。 Ingress 控制器 通常负责通过负载均衡器来实现 Ingress,尽管它也可以配置边缘路由器或其他前端来帮助处理流量。

Ingress 不会公开任意端口或协议。 将 HTTP 和 HTTPS 以外的服务公开到 Internet 时,通常使用 Service.Type=NodePortService.Type=LoadBalancer 类型的 Service。

官网地址:https://kubernetes.github.io/ingress-nginx/
环境准备:下载
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/baremetal/deploy.yaml

#修改镜像
vi deploy.yaml
#将image的值改为如下值:
registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/ingress-nginx-controller:v0.46.0

kubectl apply -f deplpy.yaml
检查安装的结果

kubectl get pod,svc -n ingress-nginx

最后别忘记把svc暴露的端口要放行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值