k8s selector_k8s(二)——kubectl的使用以及创建deployment

2023-10-26

kubectl的使用以及创建deployment

  • kubectl的使用

    • 常见概念

    • kubectl管理命令概要

  • 管理和使用deployment

    • 基于deployment创建nginx pod,有一个副本

    • 查看k8s对象状态

    • 发布应用

    • 服务伸缩

    • 滚动更新

kubectl的使用

常见概念

  • devops 开发和运维
    实现的方式有:python,docker+k8s,git+Jenkins

  • k8s
    k8s集成了docker三剑客(compose,swam,machine)的功能。

  • pod与pod控制器
    一个pod是一个或者多个容器。
    pod控制器是用来控制、管理pod的数量,状态。

  • service
    由于pod的地址会发生改变,通过service可以为pod提供一个统一的访问入口

kubectl管理命令概要

10c8723299c851ef66d0bd29ee9492cc.pnge6480e3974d38180c048c4eec0d85835.png

kubectl create -h
kubectl create deployment -h

管理和使用deployment

deployment的作用:

  • 创建指定数量的pod

  • 检查pod健康状态和数量

基于deployment创建nginx pod,有一个副本

  • 方法一

kubectl run nginx-dep1 --image=nginx:1.8 --replicas=1
kubectl get deployment
kubectl get pods
kubectl get pods -o wide
free -m

f96f1a051c5d8371b1bccb78ad34e7e2.png

  • 方法二:通过kuboard创建podbb1cdc0b545087d283a0f5a057a11fa7.png19c83768aa2e8b2782635b07de61c88d.png25bf348048f6bb0d093f38125b321698.png77bb37fb750f934814b3b2dcd31b2003.png

  • 方法三:创建yaml文件

## 创建yaml文件
vim ngx-dep.yaml
## yaml文件内容
apiVersion: apps/v1
kind: Deployment
metadata:
name: ngx-dep3
labels:
app: ngx
type: webservice
spec:
replicas: 1
selector:
matchLabels:
app: ngx
template:
metadata:
labels:
app: ngx
spec:
containers:
- name: nginx
image: nginx:1.8
## 执行yaml文件
kubectl apply -f ngx-dep.yaml

2fcb2d0b321386aa5033b202f70b678e.png

查看k8s对象状态

kubectl get 资源类型
kubectl get pod
kubectl get pod -o wide
kubectl get deployment
kubectl get deployment -o wide
kubectl get namespace
# 指定查看某个命名空间下的pod
kubectl get pod -n kube-system
# 查看所有命名空间下的pod
kubectl get pod -A -o wide


kubectl describe 资源类型
kubectl describe pod
kubectl describe pod web-nginx-dep2-5f4fbd5bfb-jqw9z
kubectl describe pod -o wide
kubectl describe deployment
kubectl describe deployment -o wide
kubectl describe namespace
# 指定查看某个命名空间下的pod
kubectl describe pod -n kube-system
# 查看所有命名空间下的pod
kubectl describe pod -A -o wide

kubectl logs 显示pod中的容器中运行过程中产生的日志信息
kubectl logs ngx-dep3-64cfcc9ddc-92x9s

kubectl run bx --image=busybox
kubectl exec -it nginx-dep1-6dd5d75f8b-mgndd /bin/bash
kubectl exec -it pod对象 /bin/bash

资源类型:
node
pod
service
deployment
namespacec11615ce1b30c8f0366497abc9bd8a87.png48ac897c0171052f052dbbff1d906920.png5ee101f8308c1bb679aa422a0c0a05ae.png

发布应用

用service来发布服务

首先创建yaml

apiVersion: v1
kind: Service
metadata:
name: ngx-svc
labels:
app: ngx
spec:
selector:
app: ngx
ports:
- name: nginx-ports
protocol: TCP
port: 80
nodePort: 32002
targetPort: 80
type: NodePort
## 执行yaml文件
kubectl apply -f ngx_svc.yaml
#查看service的端口映射信息
kubectl get svc
#此时,可以访问集群中的任意一个node节点,来访问web页面
curl http://192.168.31.66:32002

6eb7205208dd26450ef6ce42bf4492bb.png64fde2a682dab6116bf7cf44a09dea4d.png63a8a3951eae0b05c4975b811fc854f2.png

服务伸缩

根据客户端的请求流量实现弹性管理c41ff594cde14aacd9067f0704c7fc35.png73114eaaec5f9a22d966f0131e97ca81.png

滚动更新

## 将1.8修改成1.7.9
vim ngx-dep.yaml
kubectl apply -f ngx-de
kubectl apply -f ngx-dep.yaml
watch kubectl get pods -l app=ngx
kubectl get pods -l app=ngx
kubectl describe pod ngx-dep3-5f55b87775-6lpjj

d2e6987692d7de259a8d80cb77ccaaa6.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s selector_k8s(二)——kubectl的使用以及创建deployment 的相关文章

  • 极智AI

    欢迎关注我的公众号 极智视界 获取我的更多笔记分享 大家好 我是极智视界 本文讲解一下 C 手写 softmax 激活函数 在多分类任务中 最后通常使用 softmax 函数作为网络输出层的激活函数 softmax 函数可以对输出值作归一化
  • 互联网络安全、信息安全、计算机网络安全、信息保障有什么区别?

    据CNBC报道 由于黑客 安全漏洞和恶意软件攻击继续成为行业媒体报道的头条新闻 网络犯罪已成为一种全球 流行病 去年对全球组织和人员造成的损失约6000亿美元 因此 打击此类活动已成为一项有利可图且有益的事业 这并不奇怪 所以 如果你正在考
  • 【力扣】1337.矩阵中战斗力最弱的k行

    给你一个大小为 m n 的矩阵 mat 矩阵由若干军人和平民组成 分别用 1 和 0 表示 请你返回矩阵中战斗力最弱的 k 行的索引 按从最弱到最强排序 如果第 i 行的军人数量少于第 j 行 或者两行军人数量相同但 i 小于 j 那么我们
  • Spring中ApplicationContext加载机制

    加载器目前有两种选择 ContextLoaderListener和ContextLoaderServlet 只是一个是基于Servlet2 3版本中新引入的Listener接口实现 而另一个基于Servlet接口实现 开发中可根据目标Web
  • 【网站汇总】一些OJ平台

    目录 前言 一 HDU孵化器 二 HDU OJ 三 PTA 四 洛谷 五 力扣 LeetCode 前言 以下是一些OJ平台 一 HDU孵化器 链接 http hdufhq cn 8888 二 HDU OJ 链接 http code hdu
  • Linux下删除正在写入的文件会发生什么?

    一 成功 删除 了一个正在写入的文件 某日 我启动了一个进程 向一个文件a txt中写入内容 但不小心在另一个窗口用命令rm f a txt把它删除了 我以为这应该会触发一个警告 比如 不能删除一个打开的正在写入的文件 之类的 结果命令干脆
  • WinServer 2012 AD 组策略 用户发布软件部署

    本例演示安装 Notepad 这款软件 因为域中发布软件只支持 msi 格式 所以要把 exe 转成 msi 格式 可以用这个软件 https www advancedinstaller com 1 转换格式 1 选择 MSI from E
  • 数学建模 - 数学规划

    来自清风的数学建模课程 主要是用于自己复习看 所以截图较多 数学规划 概述 分类 线性规划 非线性规划 整数规划 0 1规划 线性规划 对于求解最大值要让目标函数的系数 max z min z 线性规划公式 x fval linprog c
  • 第十四届蓝桥杯模拟赛(第一期)——C语言版

    1 二进制位数 问题描述 十进制整数 2 在十进制中是 1 位数 在二进制中对应 10 是 2 位数 十进制整数 22 在十进制中是 2 位数 在二进制中对应 10110 是 5 位数 请问十进制整数 2022 在二进制中是几位数 incl
  • PHP导出excel文件的几种方式

    先说说动态生成的内容当作文件来下载的方法 1 通过把Content Type设置为application octet stream 可以把动态生成的内容当作文件来下载 content type内容设置可以参看 http www ostool
  • 父类对象的属性直接赋值给子类对象(使用copyProperties中的方法copyProperties)

    BeanUtils copyProperties 是 Apache Commons BeanUtils 包中提供的一个方法 用于将一个 JavaBean 对象的属性值赋值到另一个 JavaBean 对象中 该方法可以简化 JavaBean
  • springmvc @ResponseBody参数解析核心代码分析 -8

    org springframework web servlet mvc method annotation RequestResponseBodyMethodProcessor supportsParameter 只要参数上有 Reques
  • BAPI_ACC_DOCUMENT_POST用法

    文章目录 1 Overall 2 Code 1 Overall The blog will demostrate how to use BAPI ACC DOCUMENT POST We use enhancement for it 2 C
  • 所有子集 剑指 Offer II 079

    我只是喜欢敲代码 目录 题目描述 AC代码 思路分析 题目描述 给定一个整数数组 nums 数组中的元素 互不相同 返回该数组所有可能的子集 幂集 解集 不能 包含重复的子集 你可以按 任意顺序 返回解集 示例 1 输入 nums 1 2
  • springboot多数据源配置

    之前在介绍使用JdbcTemplate和Spring data jpa时 都使用了单数据源 在单数据源的情况下 Spring Boot的配置非常简单 只需要在application properties文件中配置连接参数即可 但是往往随着业
  • Angular_构建&部署&多环境

    构建 构建 编译和合并 部署 与服务器整合 ng build 使用命令ng build进行构建 构建完成以后 会在项目中多出一个dist文件夹 部署 在服务器端新建一个文件夹client 将dist文件夹中的文件复制粘贴到cleint文件夹
  • TCP选项之SO_RCVBUF和SO_SNDBUF

    SO RCVBUF SO SNDBUF 先明确一个概念 每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区 TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态 接收缓冲
  • 03-----生产环境 CPU 占用过高,你如何解决?

    1 top指令 top 找出占用 CPU 最高的进程的 pid 2 查看耗CPU的线程号 方法1 top Hp 进程号 然后按下大写P 在该进程中找到 哪些线程占用的 CPU 最高的线程 记录下 tid 注意下图一个是主线程 其余是子线程
  • sqlalchemy数据库连接池QueuePool异常

    数据库相关错误的解决办法 错误一 数据库连接池超过限制 SqlAlchemy QueuePool limit overflow 造成连接数超过数据库连接池的限制 有两方面的原因 第一个是由于数据库连接池数比较小 因此当连接数稍微增加的时候就

随机推荐

  • IDDPM官方gituhb项目--模型构建

    在完成IDDPM论文学习后 对github上的官方仓库进行学习 通过具体的代码理解算法实现过程中的一些细节 官方仓库代码基于pytorch实现 链接为https github com openai improved diffusion 本笔
  • studyreport

    Vi Java Ant Junit的自学报告 1 vi vim编辑器的使用 1 1 vi vim简介 vi编辑器是Linux和Unix上最基本的文本编辑器 工作在字符模式下 由于不需要图形界面 vi是效率很高的文本编辑器 它可以执行输出 删
  • HTML侧面导航栏

  • 函数的模拟实现

    目录 题一 qsort 练习使用库函数 qsort排序各种类型的数据 模拟实现qsort在不同情形的实现 题二 strlen 模拟实现strlen 优解一 优解二 优解三 题三 strcpy 模拟实现strcpy 优解一 题四 strcmp
  • 使用Qt开发绘制多个设备的流量曲线图(附带项目图)

    一 说明 在实际项目中 主要是使用Qt开发CS程序 当然主要是客户端 公司项目中有这个需求是实时显示多个设备的流量曲线图 设备将流量信息发给服务端 服务端再将信息通过Socket发给Qt客户端 Qt客户端通过Socket接收后实时显示在程序
  • pip安装pytorch

    问题简述 直接pip install pytorch 报错 解决办法 1 登陆https pytorch org get started locally 2 选择对应的条件 最后会生成command 3 将command中的代码copy到命
  • Netty实战(七)EventLoop和线程模型

    EventLoop和线程模型 一 什么是线程模型 二 EventLoop 接口 2 14 Netty 4 中的 I O 和事件处理 三 任务调度 3 1 JDK 的任务调度 API 3 2 使用 EventLoop 调度任务 四 实现细节
  • 【廖雪峰python入门笔记】Unicode编码_UnicodeDecodeError处理

    1 Unicode编码的由来 字符串还有一个编码问题 计算机只能处理数字 如果要处理文本 就必须先把文本转换为数字才能处理 最早的计算机在设计时采用8个比特 bit 作为一个字节 byte 所以 一个字节能表示的最大的整数就是255 二进制
  • JAVA String的问题

    String s1 字符串 String s2 字符串 System out println s1 s2 输出true String s3 new String 字符串 String s4 new String 字符串 System out
  • 以太坊 geth常用命令行

    命令行组成为geth lt 命令 gt 参数 geth datadir 指定数据存储位置 也是默认的私钥仓库位置 nodiscover 标志此节点私有 不被别人添加 maxpeer 0 设置网络中可以被接入的最大节点数目 0代表不被其它节点
  • 【线性代数01】矩阵的转置和逆

    这方面的总结一直都有想写 我们先从矩阵的转置和逆谈起 本篇内容整理自网页 矩阵的转置和逆 给出这部分叙事的主角 矩阵A和矩阵B A 1
  • 【深度学习】语义分割-源代码汇总

    目录 Transformer 1 vit 2 Swin Transformer 3 PVT 4 SETR 5 segformer Transformer 1 vit 1 官方 vision transformer 2 Swin Transf
  • Linux内核:内存管理——CMA预留内存

    平时看 proc meminfo中 总能看到CMA的身影 且好像总是被用光了 他是做什么的呢 为啥作为预留内存能用的干干净净呢 一起看下 CmaTotal 438272 kB CmaFree 0 kB Contiguous Memory A
  • 电路设计中LDO与DC-DC的选择问题(DC-DC篇)

    版权声明 本文为博主原创文章 转载请注明出处 https blog csdn net NeverImagine article details 93193105 接上文 上文讨论了LDO的原理和特性 本文再分析一下DC DC 二 DC DC
  • 查看mysql root账户密码

    cat root mysql secret 查看root账号密码
  • 虹膜识别系统 python实现

    先上传效果图 main py An highlighted block Demonstration of the GazeTracking library Check the README md for complete documenta
  • 【从嵌入式视角学习香山处理器】六、NutShell代码结构(乱画的框图)

    文章目录 一 前言 二 简单粗暴版 最终成品的框图 三 不要太凌乱版 去掉连线后的框图 一 前言 这是从上一篇文章 从嵌入式视角学习香山处理器 五 香山开发工作流实践1 主要子模块工程之间的关系 引出的对果壳核 NutShell 一个简单入
  • MySQL存储过程入门教程及实例详解

    1 存储过程简介 存储过程是可编程的函数 在数据库中创建并保存 可以由SQL语句和控制结构组成 当想要在不同的应用程序或平台上执行相同的函数 或者封装特定功能时 存储过程是非常有用的 数据库中的存储过程可以看做是对编程中面向对象方法的模拟
  • 不同集合中判断元素相同的方法

    判断集合中的元素是否相同 对于增删改查有重要意义 不同Collection的实现的判断依据不同 1 List类 线性表 统一标准是equals 2 HashSet和HashMap 哈希表 先hashcode 后equals 3 TreeSe
  • k8s selector_k8s(二)——kubectl的使用以及创建deployment

    kubectl的使用以及创建deployment kubectl的使用 常见概念 kubectl管理命令概要 管理和使用deployment 基于deployment创建nginx pod 有一个副本 查看k8s对象状态 发布应用 服务伸缩