k8s陈述式资源管理(命令行)

1、资源管理

(1)陈述式资源管理(常用——查、增)

使用kubectl工具进行命令行管理

①特点:对资源的增删查比较方便,对改不友好

②优点:90%以上的场景都可以满足

③缺点:命令冗长、复杂

(2)声明式资源管理(常用——部署资源)

使用yml文件进行声明式资源管理

3GUI图形化资源管理

2、kubectl命令详解

(1)查看

kubectl命令大全网站http://docs.kubernetes.org.cn/683.html

查看版本信息

kubectl version

查看所有api的资源对象

kubectl api-resources

查看k8s的集群信息

kubectl cluster-info

自动补齐命令

基本信息查看

查看master节点的状态

kubectl get cs

查看默认命名空间内的pod信息

kubectl get pod

查看当前集群所有命名空间

kubectl get namespaces

查看指定命名空间里的pod

kubectl get pod -n 命名空间名称

查看默认命名空间内pod的详细信息

kubectl get pod -o wide

查看指定命名空间内的pod详细信息

kubectl get pod -o wide -n 命名空间名称

查看node节点信息和状态

kubectl get node

查看node节点的详细信息

kubectl get node -o wide

查看已经部署好的pod的详细信息

kubectl describe pod pod名称

查看指定命名空间里的pod的详细情况

kubectl describe pod pod名称 -n 命名空间名称

动态查看pod日志

kubectl logs -f pod名称

动态查看指定命名空间的pod日志

kubectl logs -f pod名称 -n 命名空间名称

创建命名空间

kubectl create ns 名称

删除命名空间

kubectl delete ns 名称

删除pod(没有真正删除)

 kubectl delete pod pod名称

生成一个新的pod

(2)部署

1)deployment部署pod的两种方式

①陈述式部署(命令行)

②声明式部署(yml)

2)特点

①滚动更新:不是一次性把所有pod全部部署,而是依次部署,主要在pod更新时使用,逐步引入新的pod,逐步减少旧的pod

②自我修复:若有pod节点发生故障,deployment会自动启动新的pod进行代替

③回滚:若更新有问题,deployment会提供还原点,可以手动还原到未更新前的状态

④扩容和缩容:deployment可以随时调整pod的数量,以适应流量的变化

注:必须基于deployment创建的服务才能实现以上功能(绝大多数都使用deployment创建)

查看默认命名空间里基于deployment创建的pod

 kubectl get deployments.apps

查看指定命名空间里deployment创建的pod

kubectl get deployments.apps -n kube-system

查看默认空间里daemonsets创建的pod

kubectl get daemonsets.apps

daemonset不能在命令行创建,只能用yml文件来创建pod,后台运行创建,在每个节点上创建一个方式相同、版本相同的容器运行的pod。一般是依赖环境和重要组件,不会对这些资源进行操作

创建pod

(同一个命名空间pod不能重名)

kubectl create deployment pod名称 --image=nginx (--replicas=3)

注:若是基于deployment方式创建的pod ,或基于daemonset方式创建的pod,均是由控制器创建的pod,使用delete删除pod无法删除,相当于重启pod。先删除控制器,才能删除pod,但删除控制器,所有基于这个控制器的pod全部被删除(慎用)

kubectl delete deployments.apps nginx

kubectl delete deployments.apps nginx

不是基于控制器创建的pod

(可以直接删除,很少用)

kubectl run pod名称 --image=nginx

远程进入节点容器

kubectl exec -it 容器名称 bash

注:docker的exec只能在本机使用,kubectl的exec可以跨主机进入容器

指定命名空间进入容器

kubectl exec -it 容器名称 bash -n 命名空间名称

快速结束容器

(用于结束卡在销毁状态的pod)

kubectl delete pod nginx-6799fc88d8-j4hxc --force --grace-period=0

--grace-period表示过度的存活期(默认30秒,可以让pod优雅的结束容器内的进程,然后退出pod)

--grace-period=0表示立刻退出

对deployment创建的pod扩、缩容

(仅限于deployment控制器)

kubectl scale deployment nginx1 --replicas=3

扩容:

缩容:

发布服务的service

查看当前命名空间的service

kubectl get svc

删除service

kubectl delete svc nginx

service的类型

①ClusterIP:创建service的默认类型,提供一个集群内部的虚拟IP地址,通过这个虚拟IP可以直接访问pod的资源,仅限于pod内部,无法对外提供访问

②NodePort(常用)在每个node节点上都开放一个相同的端口,外部可以通过node的本机IP+端口访问pod资源,这是集群外部访问service资源的一种方式(四层代理),基于deployment创建的pod可以使用这种方式

nodeip:nodeport(nodeport可随机指派,也可指定,范围30000~32767)

对外暴露service端口

kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort

--port=80    service集群的端口(可随意指定)

--target-port=80    pod内部容器的端口(服务固定的端口号)

10.96.26.83:集群内部的IP地址,外部不可以访问

80:对应的是内部的service 端口

30934:和内部的service的80端口做映射

pod内部的容器的端口是固定的,--port是service和容器映射端口,可以随意指定

--target-port是容器内部的服务端口

修改service端口

kubectl edit svc service名称

③LoadBalance:若service类型设定为LoadBalance,映射地址(云平台提供LoadBalance的地址,需要付费),这种用法仅用于公有云服务供应商在云台上设置的service的场景,外部访问,实现负载均衡

创建service,指定类型为LoadBalance

④ExternalName(常用):DNS映射,给service分配一个域名,通过域名来访问后端pod的资源,ExternalName的service类型不能提供负载均衡,必须设置一个LoadBalance地址才能实现负载均衡

注:企业内部最常见的是NodePort和ExternalName结合一起使用

3更新、回滚、发布方式

项目的生命周期:创建——发布——更新——回滚——删除

更新服务版本

kubectl set image deployment nginx nginx=nginx:1.22.0

查看还原点

kubectl rollout history deployment nginx

数字越大,就是最近的一次的操作

设置还原点时加上标识便于识别还原点

kubectl set image deployment nginx nginx=nginx:1.15 --record

回滚

kubectl rollout undo deployment nginx --to-revision=1

查看还原状态

①kubectl rollout status deployment nginx

②kubectl get pod -w动态查看

查看默认命名空间集群内的所有信息

kubectl get all

看默认命名空间集群内的所有详细信息

kubectl get all -o wide

查看指定命名空间集群内的所有详细信息

kubectl get all -o wide -n 命名空间名称

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/591896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React Grid Layout基础使用

摘要 React Grid Layout是一个用于在React应用程序中创建可拖拽和可调整大小的网格布局的库。它提供了一个灵活的网格系统,可以帮助开发人员构建响应式的布局,并支持拖拽、调整大小和动画效果。本文将介绍如何使用React Grid Layout来创建自适应的布局。…

canvas绘制圆点示例

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

如何移除视频中的背景音乐或人物声音

移除视频声音是将视频指定的声音移除,可以选择移除人物声音还是视频的背景音乐,方便实现二次创作。 小编给大家推荐一些方法帮助大家更轻松地移除视频中的背景音乐或人物声音,有兴趣的朋友请自行百度查找,或小程序查找 1、方法&a…

跟我用路由器学Linux编程实例

跟我用路由器学Linux编程实例 本专栏文章以梅林、openwrt等linux路由为基础硬件,和笔者一起学习使用shell语言。带你从编写简单的插件开始,学习怎么折腾路由器,顺便学会编程。软路由用的都是Linux基础系统,学会了在路由上编程&am…

P8722 [蓝桥杯 2020 省 AB3] 日期识别(C语言)

题目描述 小蓝要处理非常多的数据, 其中有一些数据是日期。 在小蓝处理的日期中有两种常用的形式:英文形式和数字形式。 英文形式采用每个月的英文的前三个字母作为月份标识,后面跟两位数字表示日期,月份标识第一个字母大写,后…

2023福建省“信息安全管理与评估“---单机取证(高职组)

2023福建省“信息安全管理与评估“---单机取证(高职组) 2023福建省“信息安全管理与评估“---单机取证(高职组):公众号:鱼影安全(有联系方式)Evidence1:Evidence2:Evidence3:Evidence4:Evidence5:Evidence6:Evidence7:Evidence8:Evidence9:Evidence10:<

从入门到精通,30天带你学会C++【第十四天:洛谷选题讲解】

彩蛋 这么长的目录应该没人看吧。 Bi------------------------------------------------------------------------------- 目录 Everyday English 前言 函数 sqrt ( ) for循环 题目网址 分析题意 思路点拨 优化程序 AC代码 AC截图 数学 if判断 题目网址 思路…

视频剪辑技巧:轻松制作短视频,一键合并、剪辑、添加背景音乐

随着社交媒体的普及&#xff0c;短视频已是分享生活、娱乐和传递信息的重要方式。如果要制作短视频&#xff0c;但又不熟悉复杂的视频编辑软件&#xff0c;那么本文将讲解一些实用的视频剪辑技巧&#xff0c;轻松制作出高质量的短视频。现在一起来看看云炫AI智剪如何批量合并视…

光纤通信系统中常见类型的损伤和均衡方法

相干光纤通信系统中常见的损伤和均衡算法 光纤通信中的系统损伤损耗色度色散 CD偏振相关损耗PMD 偏振模色散RSOP 偏振态旋转PDL 偏振相关损耗 CFO 载波频率偏移和CPN 载波相位噪声 光纤通信系统损伤均衡算法 光纤通信中的系统损伤 信道中常见的损伤包括损耗、色散和偏振相关损…

【HarmonyOS开发】分布式应用的开发实践(元旦快乐)

元旦快乐&#xff0c;再见2023&#xff0c;加油2024&#xff0c;未来可期&#xff0c;愿新的一年带来健康、幸福和成功&#xff01;&#x1f4aa; &#x1f4aa;&#x1f4aa; 多种设备之间能够实现硬件互助、资源共享&#xff0c;依赖的关键技术包括分布式软总线、分布式设备虚…

机器学习基本概念及模型简单代码(自用)

监督学习 监督学习是机器学习的一种方法&#xff0c;其中我们教导模型如何做出预测或决策&#xff0c;通过使用包含输入和对应输出的已标注数据集进行训练。这种方法的关键特点是利用这些标注数据**&#xff08;即带有正确答案的数据&#xff09;**来指导模型的学习过程。 一言…

uni-app 前后端调用实例 基于Springboot 数据列表显示实现

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

【ArcGIS微课1000例】0084:甘肃积石山地震震中100km范围内历史灾害点分布图(2005-2020)

甘肃积石山地震震中100km范围内历史灾害点分布图(2005-2020)。 文章目录 一、成果预览二、实验数据三、符号化四、地图整饰一、成果预览 本实验最终效果图如下所示: 二、实验数据 以下数据可以从本专栏配套的实验数据包中0084.rar中获取。 1. 历史灾害数据。为2005-2020时…

深度学习|10.5 卷积步长 10.6 三维卷积

文章目录 10.5 卷积步长10. 6 三维卷积![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b5bfa24f57964b0f81f9602f5780c278.png) 10.5 卷积步长 卷积步长是指每计算一次卷积&#xff0c;卷积移动的距离。 设步长为k&#xff0c;原矩阵规模为nxn&#xff0c;核矩阵…

BIOS:计算机中的特洛伊木马

内容概述&#xff1a; 由于主板制造商在计算机启动时用来显示品牌徽标的图像分析组件相关的问题&#xff0c;多个安全漏洞&#xff08;统称为 LogoFAIL&#xff09;允许攻击者干扰计算机设备的启动过程并安装 bootkit。x86 和 ARM 设备都面临风险。主板固件供应链安全公司 Bin…

valgrind跨平台调试及其问题分析

背景 同事在项目中遇到了内存泄漏问题&#xff0c;长时间没有解决&#xff0c;领导临时让我支援一下。心想&#xff0c;应该不难&#xff0c;毕竟我之间做过valgrind的使用总结。并输出内存泄漏问题分析思路&#xff08;案例篇&#xff09;和快速定位内存泄漏的套路两篇文章&a…

【C语言】Ubuntu 22上用GTK写GUI程序

一、GTK介绍 GTK (GIMP Toolkit) 是一个多平台的图形用户界面工具包。它最初是为图像处理程序 GIMP 开发的&#xff0c;后来演变成为许多操作系统上开发图形界面应用程序的通用库。GTK 是用C语言编写的&#xff0c;并且是自由和开源软件&#xff0c;遵循LGPL (GNU Lesser Gene…

三菱MR-JE伺服脉冲轴应用参数设置

三菱MR-JE伺服在脉冲轴控制上的应用&#xff0c;常用参数设置如下&#xff1a; 1、常用参数 未完...

Linux用shell脚本执行乘法口诀表的两种方式

#!/bin/bash # *********************************************************# # # # * Author : 藻头男 # # * QQ邮箱 : 2322944912qq.com # …

nginx 配置代理ip访问https的域名配置

前言 代理服务器是一种中间服务器&#xff0c;用于转发客户端请求到目标服务器。Nginx是一款高性能的Web服务器和反向代理服务器&#xff0c;可以用于配置代理IP访问HTTPS的域名。在本篇文章中&#xff0c;我们将介绍如何使用Nginx配置代理IP访问HTTPS域名&#xff0c;并提供相…