k8s之陈述式资源管理

1.kubectl命令

kubectl version 查看k8s的版本

kubectl api-resources 查看所有api的资源对象的名称

kubectl cluster-info 查看k8s的集群信息

kubectl get cs 查看master节点的状态

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

kubectl get ns 查看当前集群所有的命名空间

kubectl get pod -n kube-system 查看指定的命名空间内的pod 需要加-n

kubectl get pod -o wide 查看默认命名空间内pod的详细信息

kubectl get pod -n kube-system -o wide 查看指定命名空间的详细信息

kubectl get pod -o wide -n kube-system 查看指定命名空间的详细信息

kubectl get node 查询节点的信息和状态

kubectl get node -o wide 查看node节点的详细信息

kubectl get pod

kubectl describe pod nginx-6799fc88d8-4kv8x 查看已经部署好的pod的详细信息

kubectl get ns

kubectl get pod -n kube-system

kubectl describe pod -n kube-system etcd-master01 查看命名空间里的pod的详细信息

kubectl logs nginx-6799fc88d8-4kv8x 查看pod的日志

kubectl logs -f nginx-6799fc88d8-4kv8x 动态查看pod的日志

kubectl logs -f etcd-master01 -n kube-system 查看不同命名空间里的pod日志

kubectl create ns guoqi 创建命名空间

kubectl get ns 查看命名空间

kubectl delete ns guoqi 删除指定命名空间

kubectl delete pod nginx-6799fc88d8-4kv8x 删除指定pod

###

先声明动作: create delete get 对象 ns pod service 对象名称 guoqi nginx nginx1 nginx2

###

2.deployment 的部署pod

陈述式部署:命令行

声明式:yaml文件部署

滚动更新:不是一次性的把所有pod全部部署,而是一个个来。pod的更新时使用,逐步的引入新的pod,逐步的减少旧的pod

自我修复:如果有pod节点发送故障,deployment会自动启动新的pod来进行代替

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

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

上述的功能必须是基于deployment创建的服务才可以,绝大多数的pod都是使用deployment创建的

kubectl get deployment.apps -n kube-system 查询命名空间通过deployment创建的pod

kubectl get daemonset.apps -n kube-system

##

daemonset 不能通过命令行创建,只能在yaml文件当中定义这种创建方式

后台运行创建,在每个节点上都创建一个相同方式的,相同版本的容器运行的pod

一般都是依赖环境和重要组件,一般也不会对这些资源进行操作

kubectl create deployment nginx-dn --image=nginx --replicas=3

kubectl create ns guoqi

kubectl create deployment nginx-dn --image=nginx --replicas=3 -n guoqi

kubectl get pod -n guoqi

如果是基于deployment方式创建的pod,或者是daemonset创建的pod,是由控制器创建的pod,是由delete删除pod是删除不掉的,相当于重启pod

kubectl delete deployment.apps nginx-guoqi -n guoqi

kubectl get pod -n guoqi

基于deployment方式创建pod,一旦删除的deployment,基于deployment,基于这个deployment创建的pod都睡删除,慎用)

3.远程进入节点容器

kubectl get pod -o wide

kubectl exec -it nginx-6799fc88d8-8jbcr bash

##docker的exec只能在本机内部使用,不能跨主机。kubectl exec 跨主机进入容器

kubectl create deployment nginx --image=nginx -n guoqi

kubectl get pod -n guoqi -o wide

kubectl exec -it nginx-6799fc88d8-s59sn -n guoqi bash

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

##

grace-period:表示过度存活周期,默认是30秒,可以让pod快速的结束容器内的进程,然后退出pod

=0 表示立刻停止pod 必须要force

## 主要用于结束卡在销毁状态的pod

对deployment创建的pod进行扩容

kubectl scale deployment nginx-guoqi --replicas=3 扩容

kubectl scale deployment nginx-guoqi --replicas=1 缩容

把服务的service进行发布

kubectl get svc 查看当前服务

kubectl delete svc nginx 删除服务

4.service的类型

ClusterIP 创建service的默认类型,提供一个集群内部的虚拟ip地址,这是service的默认类型,通过虚拟ip直接访问pod的资源,无法对外提供访问

NodePort:会在每个node节点上都开放一个相同的端口。外部可以通过node的本机ip+端口访问pod资源,集群外部访问service资源的一种方式,四层代理

modeip:nodeport

随机指派,也可以指定 30000-32767

基于deployment创建的pod,可以使用的方式

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

##

--port=80 service集群的端口

--target-port=80 pod内部容器的端口

##

[root@master01 ~]# kubectl get svc

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23h

nginx-service NodePort 10.96.25.213 <none> 80:32206/TCP 12s

##

10.96.25.213 集群内部的ip地址,外部是不可以访问这个ip的地址

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

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

kubectl edit svc nginx1-service

进yaml修改服务端口

LoadBalancer:如果service的类型设定为LoadBalancer,映射地址(云平台提供LoadBalancer的地址)这种用法仅用于公有云服务共用商在云台上设置的service的场景。外部来访问,实现负载均衡。LoadBalancer这个是地址是要付费的。创建好了service,指定类型为LoadBalancer,会给你提供一个地址来代理pod内部的ip地址

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

kubectl edit svc nginx2-service

kubectl get pod -o wide

vim /etc/hosts

10.244.2.9 www.123.cc

总结:

service的类型:

ClusterIP 创建service的默认类型,提供一个集群内部的虚拟ip地址,这是service的默认类型,通过虚拟ip直接访问pod的资源,无法对外提供访问

NodePort:会在每个node节点上都开放一个相同的端口。外部可以通过node的本机ip+端口访问pod资源,集群外部访问service资源的一种方式,四层代理

LoadBalancer:如果service的类型设定为LoadBalancer,映射地址(云平台提供LoadBalancer的地址)这种用法仅用于公有云服务共用商在云台上设置的service的场景。外部来访问,实现负载均衡。LoadBalancer这个是地址是要付费的。创建好了service,指定类型为LoadBalancer,会给你提供一个地址来代理pod内部的ip地址

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

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

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

相关文章

Android : 使用GestureOverlayView进行手势识别—简单应用

示例图&#xff1a; GestureOverlayView介绍&#xff1a; GestureOverlayView 是 Android 开发中用于识别和显示手势的视图组件。它允许用户在屏幕上绘制手势&#xff0c;并且应用程序可以检测和响应这些手势。以下是关于 GestureOverlayView 的主要特点&#xff1a; 手势识别…

Large-Precision Sign using PBS

参考文献&#xff1a; [CLOT21] Chillotti I, Ligier D, Orfila J B, et al. Improved programmable bootstrapping with larger precision and efficient arithmetic circuits for TFHE[C]//Advances in Cryptology–ASIACRYPT 2021: 27th International Conference on the T…

使用云渲染节省成本与提升渲染速度的秘诀

我们在提交效果图到云渲染平台时&#xff0c;有时会因为各种原因&#xff0c;如不小心设置错了参数&#xff0c;导致渲染时间变长&#xff0c;渲染费用增加。这不仅增加了项目的成本&#xff0c;还可能影响到整个项目的进度。面对这一问题&#xff0c;炫云提供了小光子、保守优…

Linux第一个小程序-进度条(c语言版)

目录 行缓冲区概念&#xff1a; 行缓冲区代码演示&#xff1a; ​编辑进度条代码 1&#xff1a;memset函数&#xff1a; 2&#xff1a;const char* lable"|/-\\"; 3&#xff1a;usleep C语言 usleep 函数的功能和用法&#xff1a; 4&#xff1a;进度条代码的实…

vue3 组件之间传值

vue3 组件之间传值 非常好&#xff0c;为啥突然开这样一篇博文&#xff0c;首先是因为 vue3 是未来发展的趋势。其次&#xff0c;vue 官方已经确认&#xff0c;将于2023年最后一天停止对 vue2 项目的维护&#xff0c;这个是官方发出的通知&#xff0c;并且呢&#xff0c;尤雨溪…

基于Java网上点餐系统设计与实现

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…

静物摄影在UE5里运用几点记要

被摄体&#xff0c;相机与光源的关系&#xff0c;要增强立体感&#xff0c;摄像机与光源的位置关系要错开&#xff1b;b的立体感要更强 漫反射与点光源&#xff0c;UE5太阳光属于漫反射&#xff0c;整体比较柔和&#xff0c;但是阴影处比较黑&#xff1b;摄影棚会用反光板来增亮…

vscode 支持c,c++编译调试方法

概述&#xff1a;tasks.jason launch.json settings.json一定要有&#xff0c;没有就别想跑。还有就是c 和c配置有区别&#xff0c;切记&#xff0c;下文有说 1.安装扩展插件。 2.安装编译器&#xff0c;gcc.我用的是x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z &#xf…

【SpringCloud】-OpenFeign实战及源码解析、与Ribbon结合

一、背景介绍 二、正文 OpenFeign是什么&#xff1f; OpenFeign&#xff08;简称Feign&#xff09;是一个声明式的Web服务客户端&#xff0c;用于简化服务之间的HTTP通信。与Nacos和Ribbon等组件协同&#xff0c;以支持在微服务体系结构中方便地进行服务间的通信&#xff1b…

STM32CubeMX教程8 TIM 通用定时器 - 输出比较

目录 1、准备材料 2、实验目标 3、实验流程 3.0、前提知识 3.1、CubeMX相关配置 3.1.1、时钟树配置 3.1.2、外设参数配置 3.1.3、外设中断配置 3.2、生成代码 3.2.1、外设初始化函数调用流程 3.2.2、外设中断函数调用流程 3.2.3、添加其他必要代码 4、常用函数 5…

ssm基于JavaEE的智能实时疫情监管服务平台的设计与实现+jsp论文

摘 要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完善的了&#xff0c;但是随着移动互联网的到来&#xff0c;处理信息不再受制于地理位置的限制&#xff0c;处理信息及时高效&#xff0c;备受人们的喜爱。本次开发一套智能实时疫情监管服务平台有管…

vue 项目/备案网页/ip网页打包成 apk 安装到平板/手机(含vue项目跨域代理打包成apk后无法访问接口的解决方案)

下载安装HBuilder X编辑器 https://www.dcloud.io/hbuilderx.html 新建 5APP 项目 打开 HBuilder X&#xff0c;新建项目 此处项目名以 ‘test’ 为例 含跨域代理的vue项目改造 若 vue 项目中含跨域代理&#xff0c;如 vue.config.js module.exports {publicPath: "./&…

《分布式事务理论基础:CAP定理 BASE理论》

目录 学习目标 1.分布式事务理论基础 1.1.本地事务 1.2.分布式事务 分布式事务产生的原因&#xff1f; 哪些场景会产生分布式事务&#xff1f; 单体系统会产生分布式事务问题吗&#xff1f; 只有一个库&#xff0c;会产生分布式事务问题吗&#xff1f; 分布式事务举…

跨进程通信 macOS XPC 创建实例

一&#xff1a;简介 XPC 是 macOS 里苹果官方比较推荐和安全的的进程间通信机制。 集成流程简单&#xff0c;但是比较绕。 主要需要集成 XPC Server 这个模块&#xff0c;这个模块最终会被 apple 的根进程 launchd 管理和以独立进程的方法唤起和关闭&#xff0c; 我们主app 进…

DotNet 命令行开发

DotNet 命令行开发 下载安装下载 SDK安装 SDK绿色版下载绿化脚本 常用命令创建 dotnet new运行 dotnet run发布应用 dotnet publish更多命令 VSCode 调试所需插件调试 CS 配置项目.csproj排除依赖关系 launch.jsontasks.json 参考资料 下载安装 下载 SDK 我们就下最新的好&am…

draw.io学习笔记

1、链接 1.1、自动连接图形 鼠标放在图形上&#xff0c;点击出现的箭头&#xff0c;会自动出常用图形 1.2、固定连接 如果拖动其中一个图形的话&#xff0c;固定链接的形状会是曲线连过去。 方法&#xff1a;不要点击左边图形鼠标放在边框上面左边出现绿圆点鼠标左键点击图形的…

LTPI协议的理解——2、LTPI实现的底层架构

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 LTPI协议的理解——2、LTPI实现的底层架构 前言一、体系结构三、实现细节四、物理接口信号传输方法总结 前言 前面讲了LTPI的定义和大概结构&#xff0c;接下来继续理解LTPI…

【Linux系统编程二十五】:线程概念(Linux中的轻量级进程)

【Linux系统编程二十五】&#xff1a;线程概念(Linux中的轻量级进程&#xff09; 一.线程的概念1.地址空间是资源窗口 二.线程初步理解1.进程执行分支(内部运行)2.执行粒度更细3.重构进程概念&#xff1a;系统资源分配的基本实体4.重构线程概念&#xff1a;系统调度的基本单位5…

Kubernetes 学习总结(43)—— Kubernetes 从提交 deployment 到 pod 运行的全过程

当用户向 Kubernetes 提交了一个创建 deployment 的请求后&#xff0c;Kubernetes 从接收请求直至创建对应的 pod 运行这整个过程中都发生了什么呢&#xff1f; kubernetes 架构简述 在搞清楚从 deployment 提交到 pod 运行整个过程之前&#xff0c;我们有先来看看 Kubernete…

4. 云原生之kubesphere基础服务搭建

文章目录 安装kubesphere插件服务暴露NodePort方式LoadBalancer方式安装 OpenELB部署eip资源配置网关启动网关创建路由测试网关路由ingress高级功能在服务中配置LoadBalancer 基础设施部署服务部署建议helm仓库添加helm仓库 运维相关部署gitlab部署nexus3部署harbor 研发相关 安…