当前位置: 首页 > article >正文

K8S 发布应用

前言

昨儿个用 unbuntu20.04 又装了一次K8S
用的 kubeadm + containerd + Cilium (CNI)
又重新撸了一遍
这里只记录 应用发布的笔记

正文

#创建deployment
kubectl create deployment nginx --image=nginx
#我这边大约30秒后显示为 ready
kubectl get deployments
kubectl describe deployment nginx

#查看操作步骤
#1.创建pod 2.将pod分配给worker节点 3.伸缩ReplicaSet到指定数量
#4.拉取nginx镜像 5.创建nginx容器 6.拉取镜像成功后运行容器
kubectl get events --sort-by='.metadata.creationTimestamp'

#查看yaml - 它可以用来重新创建这个deployment
kubectl get deployment nginx -o yaml

#输出这个yaml,修改配置后重新创建 deployment
kubectl get deployment nginx -o yaml > first.yaml
#编辑yaml配置文件,移除 creationTimestamp 这一行
vim first.yaml

#删除后重新创建
kubectl delete deployment nginx
kubectl create -f first.yaml

#文件对比
kubectl get deployment nginx -o yaml > second.yaml
diff first.yaml second.yaml

#--dry-run=client 模拟执行命令,但不真的创建资源 -> 生成yaml文件
kubectl create deployment two --image=nginx --dry-run=client -o yaml

#通过yaml输出查看已存在的对象
kubectl get deployments nginx -o yaml
#通过JSON查看
kubectl get deployment nginx -o json

#查看帮助 -> 需要创建一个service来暴露nginx的web页面
kubectl expose -h

#未指定端口
weiheng@weihengcp:/data/work/yaml$  kubectl expose deployment/nginx
'error: couldn't find port via --port flag or introspection

#修改配置文件后,可以使用 apply , edit or patch 做无中断更新
#如果出现无法更新的资源字段,可强制执行 --force
#现在修改配置,添加端口信息
vim first.yaml
#添加 ports 配置,暴露端口
spec:
  containers:
  - image: nginx
    imagePullPolicy: Always
    name: nginx
    ports:  
    - containerPort: 80
      protocol: TCP
    resources: {}

#终止,并新建deployment
kubectl replace -f first.yaml --force

#查看
kubectl get deploy,pod

#暴露资源 again -> 创建service
kubectl expose deployment/nginx

#查看service配置
kubectl get svc nginx
#查看 kubelet 和 kube-proxy 提供的 endpoint
kubectl get ep nginx

在这里插入图片描述

#通过集群IP访问 welcome 页面
curl 10.99.250.234:80
#通过endpoint访问 welcome 页面
curl 192.10.1.169:80


kubectl get deployment nginx

#拓展至3个副本
kubectl scale deployment nginx --replicas=3

kubectl get deployment nginx

#拓展后会看到,现在有3个 endpoint
kubectl get ep nginx

kubectl get pod -o wide

kubectl delete pod nginx-7c5ddbdf54-vnzhr

kubectl get po

#发现 endpoint IP改变了,原来的 endpoint 被删除了
kubectl get ep nginx

#再次测试,发现一切正常
curl 10.99.250.234:80
curl 192.10.1.169:80

在这里插入图片描述


http://www.kler.cn/a/294593.html

相关文章:

  • go语言中的log 包详解
  • Java反序列化之CommonsCollections2链的学习
  • 【AI写作宝-注册安全分析报告-无验证方式导致安全隐患】
  • js-将JavaScript对象或值转换为JSON字符串 JSON.stringify(this.SelectDataListCourse)
  • sql专题 之 count()区别
  • 从零开始使用Intel的AIPC使用xpu加速comfyui
  • 【60天备战软考高级系统架构设计师——第十一天:系统集成与测试——集成策略】
  • kafka集群安装
  • OpenFeign的使用(一)
  • 软件测试之UI自动化测试
  • nginx配置中的服务器名称
  • 家政上门小程序系统设计解析
  • C#语言实现最小二乘法算法
  • 怎么强制撤销excel工作表保护?
  • 深度学习从入门到精通——yolov1
  • F12抓包06-1:浏览器导出postman测试脚本
  • sicp每日一题[2.1]
  • docker 容器
  • 数据库 | 子查询 | sql执行顺序 | mysql是否运行
  • AI文献综述神器,有这一款就够了!
  • 《JavaEE进阶》----11.<SpringIOCDI【Spring容器+IOC详解+DI介绍】>
  • tcp 流量控制
  • 开发一款通过蓝牙连接控制水电表的微信小程序
  • ubuntu 安装python3 教程
  • 开篇_____何谓安卓机型“工程固件” 与其他固件的区别 作用
  • springboot websocket 服务端