K8S 发布应用

devtools/2024/9/24 23:25:33/

前言

昨儿个用 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: nginximagePullPolicy: Alwaysname: nginxports:  - containerPort: 80protocol: TCPresources: {}#终止,并新建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:80kubectl get deployment nginx#拓展至3个副本
kubectl scale deployment nginx --replicas=3kubectl get deployment nginx#拓展后会看到,现在有3个 endpoint
kubectl get ep nginxkubectl get pod -o widekubectl delete pod nginx-7c5ddbdf54-vnzhrkubectl get po#发现 endpoint IP改变了,原来的 endpoint 被删除了
kubectl get ep nginx#再次测试,发现一切正常
curl 10.99.250.234:80
curl 192.10.1.169:80

在这里插入图片描述


http://www.ppmy.cn/devtools/108719.html

相关文章

华为云征文|Flexus云服务X实例应用,通过QT连接华为云MySQL,进行数据库的操作,数据表的增删改查

引出 4核12G-100G-3M规格的Flexus X实例使用测评第3弹:Flexus云服务X实例应用,通过QT连接华为云MySQL,进行数据库的操作,数据表的增删改查 什么是Flexus云服务器X实例 官方解释: Flexus云服务器X实例是新一代面向中…

oracle数据库安装和配置

​ 大家好,我是程序员小羊! 前言: Oracle 数据库的安装和配置是一个较为复杂的过程,涉及多个步骤和配置项。以下将详细介绍如何在 Linux 和 Windows 系统中安装 Oracle 数据库并进行基础配置。 一、Oracle 数据库安装前的准备 …

[计算机网络]-计网学习笔记-计网知识点总结(附完整笔记)

本笔记是跟着 b站 湖科大教书匠 视频做的笔记,其中图片为视频中的 PPT,加上了自己的注释。 这是原视频链接。大家可以参照着笔记看原视频。视频中的 PPT 做的非常好。 【计算机网络微课堂(有字幕无背景音乐版)】https://www.bilib…

【超简单】1分钟解决ppt全文字体一键设置

省流 ppt的全部字体需要在“幻灯片母版”里面,“自定义字体”去设置好标题与正文的字体之后才算全部设置完毕 “视图”---“幻灯片母版” 找到“字体”---“自定义字体” 设置好中文和西文的字体,都可以按照自己的选择来,保存即可 吐槽 之…

python学习14:如何读取yaml文件?

yaml是专门用来写配置文件的语言,类似于json格式,是python自动化中常见的一种数据驱动的方式1)读取数据: # 方法一(推荐) filename rD:\stdutyZiLiao\pythoneProjects\webUI\逻辑流程\test006.yaml with open(filefilename,moder,encodingutf-8) as f …

使用Protocol Buffers传输数据

使用 Google Protocol Buffers(ProtoBuf)与 Kafka 结合来定义和传输数据,可以确保传输数据的结构性、可扩展性和高效性。以下是一个简单的步骤指南,帮助你实现生产者和消费者。 1. 定义 ProtoBuf 消息格式 首先,你需…

保研考研机试攻略(满分篇):第一章——技巧之巅(2)

🍦🍦🍦今天我们继续来看第一章的后半部分:考试最佳策略、预处理与打表技巧、对数器技巧等内容。加油!fighting!( •̀ ω •́ )✧ 目录 🧊🧊🧊1.4 考试最佳策略 提前准…

iOS——retain和release底层原理

retain实现原理 retain的源码: //使用此方法等价于使用[this retain] inline id objc_object::retain() {//确保对象不是tagged pointerASSERT(!isTaggedPointer());return rootRetain(false, RRVariant::FastOrMsgSend); }ALWAYS_INLINE id objc_object::rootR…