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集群核心概念:pod: 在K8s集群中是不能直接运行容器的,K8s的最小调度单元是Pod,我们要使用Pod来运行应用程序。 学习目标: 了解pod概念: 了解查看pod方法 了解创建pod方法 了解pod访问方法 了解删除…...
✌2024/4/3—力扣—无重复字符的最长子串
代码实现: 解法一:暴力法 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 应用开发中,调试分为两大部分:Web 端与 Rust 控制台。 Web 端调试 在 Web 端界面,可以直接采用浏览器内置的开发者工具进行调试。在 Windows 上,可以通过快捷键 Ctrl Shift i 打…...
2024年最新社交相亲系统源码下载
最新相亲系统源码功能介绍 参考:相亲系统源码及功能详细介绍 相亲系统主要功能 (已完成) 相亲系统登录注册 相亲系统会员列表 相亲系统会员搜索 相亲系统会员详情 相亲系统会员身份认证 - 对接阿里云 相亲系统资源存储 - 对接七…...
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.柠檬水找零 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯…...
golang defer实现
derfer : 延迟调用,函数结束返回时执行,多个defer按照先进后出的顺序调用 原理:底层通过链表实现,每次新增的defer调用,通过头插法插入链表;defer执行时,从链表头开始遍历,相当于实…...
数据仓库实践
什么是数据仓库? 数据仓库是一个用于存储大量数据并支持数据分析与报告的系统。它通常用于集成来自不同来源的数据,提供一个统一的视图,以便进行更深入的分析和决策。 数据仓库的主要优势? 决策支持:为企业决策提供可靠…...
深入浅出 -- 系统架构之微服务标准组件及职责
我们来认识一下微服务架构在Java体系中依托哪些组件实现的。 相对于单体架构的简单粗暴,微服务的核心是将应用打散,形成多个独立提供的微服务,虽然从管理与逻辑上更符合业务需要。但微服务架构也带来了很多急需解决的核心问题: 1…...
IP协议中的四大支柱:DHCP、NAT、ICMP和IGMP的功能剖析
DHCP动态获取 IP 地址 我们的电脑通常都是通过 DHCP 动态获取 IP 地址,大大省去了配 IP 信息繁琐的过程。 客户端首先发起 DHCP 发现报文(DHCP DISCOVER) 的 IP 数据报,由于客户端没有 IP 地址,也不知道 DHCP 服务器的…...
基于Socket简单的UDP网络程序
⭐小白苦学IT的博客主页 ⭐初学者必看:Linux操作系统入门 ⭐代码仓库:Linux代码仓库 ❤关注我一起讨论和学习Linux系统 1.前言 网络编程前言 网络编程是连接数字世界的桥梁,它让计算机之间能够交流信息,为我们的生活和工作带来便利…...
计算机思维
计算机思维是一种运用计算机科学的基础概念和方法来解决问题、设计系统和理解人类行为的思维方式。它包括以下几个方面: 1. 抽象和建模:将复杂的现实问题抽象为计算机可以处理的模型,通过定义对象、属性和关系来构建问题的逻辑结构。 2. 算法…...
如何判断一个linux机器是物理机还是虚拟机
https://blog.csdn.net/qq_32262243/article/details/132571117 第一种方式:dmesg命令 [rootnshqae01adm03 ~]# dmesg | grep -i hypervisor [ 0.000000] Hypervisor detected: Xen PV [ 1.115297] VPMU disabled by hypervisor. 在我的机器上 dmesg也是能够用来判…...
python用requests的post提交data数据以及json和字典的转换
环境:python3.8.10 python使用requests的post提交数据的时候,代码写法跟抓包的headers里面的Content-Type有关系。 (一)记录Content-Type: application/x-www-form-urlencoded的写法。 import requestsurlhttps://xxx.comheade…...
【Datax分库分表导数解决方法】MySQL_to_Hive
Datax-MySQL_to_Hive-分库分表-数据同步工具 简介: 本文档介绍了一个基于Python编写的工具,用于实现分库分表数据同步的功能。该工具利用了DataX作为数据同步的引擎,并通过Python动态生成配置文件,并调用DataX来执行数据同步任务…...
Vue2 —— 学习(一)
目录 一、了解 Vue (一)介绍 (二)Vue 特点 (三)Vue 网站 1.学习: 2.生态系统: 3.团队 二、搭建 Vue 开发环境 (一)安装与引入 Vue 1.直接引入 2.N…...
Windows Server 2008添加Web服务器(IIS)、WebDAV服务、网络负载均衡
一、Windows Server 2008添加Web服务器(IIS) (1)添加角色,搭建web服务器(IIS) (2)添加网站,关闭默认网页,添加默认文档 在客户端浏览器输入服务器…...
SpringMVC转发和重定向
转发和重定向 1. View Resolver Spring MVC 中的视图解析器(View Resolver)负责解析视图。可以通过在配置文件中定义一个 View Resolver 来配置视图解析器: 配置文件版:spring-web.xml <!-- for jsp --> <bean class&q…...
勒索病毒最新变种.rmallox勒索病毒来袭,如何恢复受感染的数据?
导言: 随着信息技术的飞速发展,网络安全问题日益突出,其中勒索病毒便是近年来备受关注的网络安全威胁之一。在众多勒索病毒中,.rmallox勒索病毒以其独特的传播方式和强大的加密能力,给广大用户带来了极大的困扰。本文…...
复试专业课问题
1、数据结构:详细描述归并排序的过程 归并排序是用分治思想,分治模式在每一层递归上有三个步骤: 分解(Divide):将n个元素分成个含n/2个元素的子序列。解决(Conquer):用…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
