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

Kubernetes学习笔记11

k8s集群核心概念:pod:

在K8s集群中是不能直接运行容器的,K8s的最小调度单元是Pod,我们要使用Pod来运行应用程序。

学习目标:

了解pod概念:

了解查看pod方法

了解创建pod方法

了解pod访问方法

了解删除pod方法

课程介绍:

Pod介绍:

Pod是k8s集群能够调度的最小单元。

Pod是容器的封装。

查看Pod:

[root@master1 ~]# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65c4bffcb6-gd9z6   1/1     Running   0          16h
[root@master1 ~]#
[root@master1 ~]#
[root@master1 ~]#
[root@master1 ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65c4bffcb6-gd9z6   1/1     Running   0          16h
[root@master1 ~]#
[root@master1 ~]#
[root@master1 ~]# kubectl get pods --namespace default
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65c4bffcb6-gd9z6   1/1     Running   0          16h
[root@master1 ~]#
[root@master1 ~]#
[root@master1 ~]# kubectl get pod --namespace default
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65c4bffcb6-gd9z6   1/1     Running   0          16h
[root@master1 ~]#[root@master1 ~]# kubectl get ns
NAME              STATUS   AGE
default           Active   17h
kube-flannel      Active   17h
kube-node-lease   Active   17h
kube-public       Active   17h
kube-system       Active   17h
[root@master1 ~]# kubectl get pod --namespace kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-594649bd75-xjbgr   1/1     Running   0          16h
calico-node-6lz45                          1/1     Running   0          16h
calico-node-fdprn                          1/1     Running   0          16h
calico-node-szs6x                          1/1     Running   0          16h
coredns-558bd4d5db-fmrpg                   1/1     Running   0          17h
coredns-558bd4d5db-fnxdn                   1/1     Running   0          17h
etcd-master1                               1/1     Running   1          17h
kube-apiserver-master1                     1/1     Running   1          17h
kube-controller-manager-master1            1/1     Running   1          17h
kube-proxy-rz26h                           1/1     Running   0          17h
kube-proxy-spf9t                           1/1     Running   1          17h
kube-proxy-x4fq5                           1/1     Running   0          17h
kube-scheduler-master1                     1/1     Running   1          17h

可见,k8s运行的组件,都是以pod形式运行的。

创建pod:

由于网络原因,建议提前准备好容器镜像,本次使用nginx:latest容器镜像。

master默认是不允许把用户运行的pod调度过来的。

1)编写用于创建pod资源清单文件:

[root@master1 ~]# cat 02_create_pod.yaml
apiVersion: v1
kind: Pod
metadata:name: pod1
spec:containers:- name: nginx-podimage: nginx:latestimagePullPolicy: IfNotPresentports:- name: nginxportcontainerPort: 80
[root@master1 ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65c4bffcb6-gd9z6   1/1     Running   0          16h
pod1                     1/1     Running   0          38s

可见pod1创建成功。

[root@master1 ~]# kubectl get pods --namespace default
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65c4bffcb6-gd9z6   1/1     Running   0          16h
pod1                     1/1     Running   0          110s

在default命令空间中查看pods。

查看Pod更加详细的信息:

[root@master1 ~]# kubectl get pods -o wide
NAME                     READY   STATUS    RESTARTS   AGE     IP              NODE      NOMINATED NODE   READINESS GATES
nginx-65c4bffcb6-gd9z6   1/1     Running   0          16h     10.244.1.4      worker1   <none>           <none>
pod1                     1/1     Running   0          3m30s   10.244.189.65   worker2   <none>           <none>
[root@master1 ~]#

Pod访问:

可以看到pod1是运行在worker2上。使用curl http://10.244.189.65 暂时还访问不到。

Pod的访问,在实际工作中是不建议访问的,Pod会发生不可预计的变化。

[root@master1 ~]# curl http://10.244.235.130
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>

那这个问题,得到了解决。

删除Pod:

可以通过命令行删除,也可通过资源清单YAML文件进行删除。

如果是单个Pod,可以使用命令行进行删除。

如果有控制器,是某一类的应用,我们是不建议使用命令行来进行删除的。

1)kubectl命令行删除:

# 使用kubectl命令行进行删除
[root@master1 ~]# kubectl delete pods pod1
pod "pod1" deleted[root@master1 ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65c4bffcb6-86vxw   1/1     Running   0          12m[root@master1 ~]# kubectl apply -f 02_create_pod.yaml
pod/pod1 created[root@master1 ~]# kubectl get pods
NAME                     READY   STATUS              RESTARTS   AGE
nginx-65c4bffcb6-86vxw   1/1     Running             0          13m
pod1                     0/1     ContainerCreating   0          5s# 使用资源清单文件进行删除
[root@master1 ~]# kubectl delete -f 02_create_pod.yaml
pod "pod1" deleted[root@master1 ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65c4bffcb6-86vxw   1/1     Running   0          14m

然后,我们还需要学习掌握:Pod中容器镜像下载策略、Pod中容器重启策略、Pod健康检查方式、Pod生命周期管理、Pod调度流程、Pod调度约束、Pod故障排除方法等。

相关文章:

Kubernetes学习笔记11

k8s集群核心概念&#xff1a;pod&#xff1a; 在K8s集群中是不能直接运行容器的&#xff0c;K8s的最小调度单元是Pod&#xff0c;我们要使用Pod来运行应用程序。 学习目标&#xff1a; 了解pod概念&#xff1a; 了解查看pod方法 了解创建pod方法 了解pod访问方法 了解删除…...

✌2024/4/3—力扣—无重复字符的最长子串

代码实现&#xff1a; 解法一&#xff1a;暴力法 int lengthOfLongestSubstring(char *s) {int hash[256] {0};int num 0;for (int i 0; i < strlen(s); i) {int count 0;for (int j i; j < strlen(s); j) {if (hash[s[j]] 0) {hash[s[j]];count;num num > cou…...

Tauri 进阶使用与实践指南

Tauri 进阶使用与实践指南 调试技术 在 Tauri 应用开发中&#xff0c;调试分为两大部分&#xff1a;Web 端与 Rust 控制台。 Web 端调试 在 Web 端界面&#xff0c;可以直接采用浏览器内置的开发者工具进行调试。在 Windows 上&#xff0c;可以通过快捷键 Ctrl Shift i 打…...

2024年最新社交相亲系统源码下载

最新相亲系统源码功能介绍 参考&#xff1a;相亲系统源码及功能详细介绍 相亲系统主要功能 &#xff08;已完成&#xff09; 相亲系统登录注册 相亲系统会员列表 相亲系统会员搜索 相亲系统会员详情 相亲系统会员身份认证 - 对接阿里云 相亲系统资源存储 - 对接七…...

git知识

如何将develop分支合并到master分支 #简单版 git checkout master git pull origin master git merge origin/develop # 解决可能的冲突并提交 git push origin master#复杂版 git checkout master # 拉取远程 master 分支的最新代码并合并到本地 git pull origin master # 拉…...

代码随想录算法训练营第三十五天|860.柠檬水找零、406.根据身高重建队列、452.用最少数量的箭引爆气球

代码随想录算法训练营第三十五天|860.柠檬水找零、406.根据身高重建队列、452.用最少数量的箭引爆气球 860.柠檬水找零 在柠檬水摊上&#xff0c;每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品&#xff0c;&#xff08;按账单 bills 支付的顺序&#xff09;一次购买一杯…...

golang defer实现

derfer : 延迟调用&#xff0c;函数结束返回时执行&#xff0c;多个defer按照先进后出的顺序调用 原理&#xff1a;底层通过链表实现&#xff0c;每次新增的defer调用&#xff0c;通过头插法插入链表&#xff1b;defer执行时&#xff0c;从链表头开始遍历&#xff0c;相当于实…...

数据仓库实践

什么是数据仓库&#xff1f; 数据仓库是一个用于存储大量数据并支持数据分析与报告的系统。它通常用于集成来自不同来源的数据&#xff0c;提供一个统一的视图&#xff0c;以便进行更深入的分析和决策。 数据仓库的主要优势&#xff1f; 决策支持&#xff1a;为企业决策提供可靠…...

深入浅出 -- 系统架构之微服务标准组件及职责

我们来认识一下微服务架构在Java体系中依托哪些组件实现的。 相对于单体架构的简单粗暴&#xff0c;微服务的核心是将应用打散&#xff0c;形成多个独立提供的微服务&#xff0c;虽然从管理与逻辑上更符合业务需要。但微服务架构也带来了很多急需解决的核心问题&#xff1a; 1…...

IP协议中的四大支柱:DHCP、NAT、ICMP和IGMP的功能剖析

DHCP动态获取 IP 地址 我们的电脑通常都是通过 DHCP 动态获取 IP 地址&#xff0c;大大省去了配 IP 信息繁琐的过程。 客户端首先发起 DHCP 发现报文&#xff08;DHCP DISCOVER&#xff09; 的 IP 数据报&#xff0c;由于客户端没有 IP 地址&#xff0c;也不知道 DHCP 服务器的…...

基于Socket简单的UDP网络程序

⭐小白苦学IT的博客主页 ⭐初学者必看&#xff1a;Linux操作系统入门 ⭐代码仓库&#xff1a;Linux代码仓库 ❤关注我一起讨论和学习Linux系统 1.前言 网络编程前言 网络编程是连接数字世界的桥梁&#xff0c;它让计算机之间能够交流信息&#xff0c;为我们的生活和工作带来便利…...

计算机思维

计算机思维是一种运用计算机科学的基础概念和方法来解决问题、设计系统和理解人类行为的思维方式。它包括以下几个方面&#xff1a; 1. 抽象和建模&#xff1a;将复杂的现实问题抽象为计算机可以处理的模型&#xff0c;通过定义对象、属性和关系来构建问题的逻辑结构。 2. 算法…...

如何判断一个linux机器是物理机还是虚拟机

https://blog.csdn.net/qq_32262243/article/details/132571117 第一种方式&#xff1a;dmesg命令 [rootnshqae01adm03 ~]# dmesg | grep -i hypervisor [ 0.000000] Hypervisor detected: Xen PV [ 1.115297] VPMU disabled by hypervisor. 在我的机器上 dmesg也是能够用来判…...

python用requests的post提交data数据以及json和字典的转换

环境&#xff1a;python3.8.10 python使用requests的post提交数据的时候&#xff0c;代码写法跟抓包的headers里面的Content-Type有关系。 &#xff08;一&#xff09;记录Content-Type: application/x-www-form-urlencoded的写法。 import requestsurlhttps://xxx.comheade…...

【Datax分库分表导数解决方法】MySQL_to_Hive

Datax-MySQL_to_Hive-分库分表-数据同步工具 简介&#xff1a; 本文档介绍了一个基于Python编写的工具&#xff0c;用于实现分库分表数据同步的功能。该工具利用了DataX作为数据同步的引擎&#xff0c;并通过Python动态生成配置文件&#xff0c;并调用DataX来执行数据同步任务…...

Vue2 —— 学习(一)

目录 一、了解 Vue &#xff08;一&#xff09;介绍 &#xff08;二&#xff09;Vue 特点 &#xff08;三&#xff09;Vue 网站 1.学习&#xff1a; 2.生态系统&#xff1a; 3.团队 二、搭建 Vue 开发环境 &#xff08;一&#xff09;安装与引入 Vue 1.直接引入 2.N…...

Windows Server 2008添加Web服务器(IIS)、WebDAV服务、网络负载均衡

一、Windows Server 2008添加Web服务器&#xff08;IIS&#xff09; &#xff08;1&#xff09;添加角色&#xff0c;搭建web服务器&#xff08;IIS&#xff09; &#xff08;2&#xff09;添加网站&#xff0c;关闭默认网页&#xff0c;添加默认文档 在客户端浏览器输入服务器…...

SpringMVC转发和重定向

转发和重定向 1. View Resolver Spring MVC 中的视图解析器&#xff08;View Resolver&#xff09;负责解析视图。可以通过在配置文件中定义一个 View Resolver 来配置视图解析器&#xff1a; 配置文件版&#xff1a;spring-web.xml <!-- for jsp --> <bean class&q…...

勒索病毒最新变种.rmallox勒索病毒来袭,如何恢复受感染的数据?

导言&#xff1a; 随着信息技术的飞速发展&#xff0c;网络安全问题日益突出&#xff0c;其中勒索病毒便是近年来备受关注的网络安全威胁之一。在众多勒索病毒中&#xff0c;.rmallox勒索病毒以其独特的传播方式和强大的加密能力&#xff0c;给广大用户带来了极大的困扰。本文…...

复试专业课问题

1、数据结构&#xff1a;详细描述归并排序的过程 归并排序是用分治思想&#xff0c;分治模式在每一层递归上有三个步骤&#xff1a; 分解&#xff08;Divide&#xff09;&#xff1a;将n个元素分成个含n/2个元素的子序列。解决&#xff08;Conquer&#xff09;&#xff1a;用…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...