K8s知识内容总结

1. K8s是个什么东西?解决了什么核心问题?相比docker有什么核心优势?

k8s源于google内部的一个集群管理系统,它是用来管理集群的。比例,一个大型的电商系统,在微服务架构模式下,一个集群中可能有上万个进程在跑,那么怎么去部署,监控,保持稳定性是极其复杂的事,如果完全靠运维人工处理,是非常难的,必须借助一些自动化的管理手段。而k8s就是这样的工具,让复杂的运维工作变得简单,开发也可以完成。docker是容器技术,核心作用是做资源的隔离,如cpu,内存,磁盘,使得一个宿主机上可以运行多个进程,并且进程间不相互影响。

关键词:

k8s:集群管理,自动化,节约运维陈本

docker:容器技术,资源隔离

2. K8s的架构是怎样的?核心组件有哪些?解决了什么核心问题?

图片来源:https://medium.com/@keshiha/k8s-architecture-bb6964767c12

Master Node:集群管理节点

        API Server:流量入口

        controller Manager:  监控和维护节点和容器状态,实现如故障检查,服务迁移,容器伸缩

        kube Scheduler: 负责容器编排,比如调度pod到合适的节点上工作

        etcd: 分布式的存储组件

Worker Node:工作节点

        kubelet: 节点与外部通信的入口

        kube Proxy: 节点的网络组件,负责网络通信相关的事项

        container-runtime: 比如说docker,当然也可以是其它的容器

3. 常见的微服务集群在k8s上的架构设计是如何的?

由上图可知,k8s中有几个核心的对象,去支持微服务架构。

ingress 对象: 存储路由转发规则

ingress controller:独立的pod,根据ingress中的转发规则实现路由转发(可实现7层网络协议的路由转发)

service:实现负载均衡的关键设计,使用类似iptables的方式,将请求均匀的分配到下游的pod中

depolyment: 实现高可用的对象,depolyment中可以指定pod的副本数,并会对其监控,保证有指定数量的pod在运行

pod:可以理解成容器,可以在指定的资源下,运行进程

蓝绿环境下k8s架构图

这里的架构会复杂一些,k8s的上游多了一个反向代理。之所以这么做,是因为ingress不支持流量从一个ingress转到另一个ingress,且没有跨namespace的转发。

4. 作为研发学习k8s有什么用处?可以解决哪些实际的问题?

有了k8之后,运维工作之后变的简单很多。作为研发不可避免的需要做一些运维工作。

常见的问题:pod服务异常(cpu过高,jvm内存过高,pod内存过高,pod反复重启)

5. docker和k8s中的一些常见指令

############################### docker中的指令 ###############################
docker ps -- 查看容器进程
docker ps -a -- 查看运行过的容器
docker info -- 查看容器信息
docker images -- 查看容器镜像
docker run xx -- 运行xx镜像
docker run -it xx sh --运行镜像,进入容器内存 运行shell
ctrl + D --从容器中退出
docker stop containerId  --停止容器运行
docker run -d nginx:alpine -- -d 表示后台运行
docker exec -it containerId/containerName sh 进入后台并执行shell
docker rm 容器id前缀 -- 删除容器
docker rmi          -- 删除镜像
docker start 容器id -- stop后的容器,可以通过这种方式重新启动############################### k8s中的指令   ###############################
minikube status 查看集群状态
kubectl get node 查看节点信息
minikube ssh 登入节点
sudo minikube start --force --kubernetes-version=v1.28.3
kubectl get pod -n kube-system 查看节点中的组件状态
kubectl apply -f ngx-pod.yml -- 使用yaml文件 申明式的启动pod
kubectl delete -f ngx-pod.yml  -- 使用yaml文件 删除pod
kubectl delete pods <pod> -- 删除pod
kubectl logs echo-job-f59c2 -- 查看pod中的日志(echo输出的)
kubectl port-forward wp-pod 8080:80 & -- 端口映射
kubectl run spring-demo --image=spring-demo:v1 --port=8087

参考文章:

k8s官网:服务(Service) | Kubernetes

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

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

相关文章

冒泡,选择,插入,希尔,快速,归并

冒泡&#xff0c;选择&#xff0c;插入&#xff0c;希尔&#xff0c;快速&#xff0c;归并 选择类的排序&#xff1a;选择排序&#xff0c;堆排序 交换类的排序&#xff1a;冒泡&#xff0c;快排 #include <stdio.h> #include<stdbool.h> #include<stdlib.h&…

10个html+css+js 绚丽按钮合集(1)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享10个htmlcssjs 绚丽按钮合集(1) 创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文章目录 10个htmlcssjs 绚丽按钮第1个&#xff1a;效果&#xff…

Selenium + Python 自动化测试06(frame操作方法)

上一篇我们讲述了特殊元素的操作方法&#xff0c;本篇接着讲一些可能遇到的其它操作方法。 如frame操作。 Frame 标签有Frameset、Frame、Iframe 3种&#xff0c;Frameset可以直接照常进行元素定位。Frame、Iframe需要驱动切换到对应的frame才可以定位到。否则 &#xff0c;会…

【人工智能】AI浪潮下,程序员何去何从?

人工智能时代&#xff0c;程序员何去何从&#xff1f; 随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作&#x…

[第五空间 2021]WebFTP

打开题目所给的环境&#xff0c;发现要求我们输入账号密码&#xff0c;尝试输入了一些随意的账号密码&#xff0c;显示账号密码错误。这里我先用bp拦截&#xff0c;但是并没有找到什么有用的东西&#xff0c;然后这里用dirsearch扫一下后台&#xff1a; 发现这里是git泄露&…

SQL Zoo 8+.NSS Tutorial

以下数据来自SQL Zoo 1.at Edinburgh Napier University&#xff0c;studying (8) Computer Science&#xff0c;Show the the percentage who STRONGLY AGREE.&#xff08;在爱丁堡纳皮尔大学&#xff0c;学习“计算机科学”&#xff0c;显示STRONGLY AGREE的百分比&#xff0…

MySQL 实战 45 讲(01-05)

本文为笔者学习林晓斌老师《MySQL 实战 45 讲》课程的学习笔记&#xff0c;并进行了一定的知识扩充。 sql 查询语句的执行流程 大体来说&#xff0c;MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层包括连接器、查询缓存、分析器、优化器和执行器。 连接器负责接收客…

Debezium日常分享系列之:Debezium UI 的状态

Debezium日常分享系列之&#xff1a;Debezium UI 的状态 一、下一阶段工作二、设计新的UI三、目前阶段四、更多内容 虽然Debezium的UI是我们愿景的重要组成部分&#xff0c;但开发与Kafka Connect紧密绑定的UI并不是正确的方向。因此&#xff0c;决定冻结当前Web UI项目的开发。…

【UE 网络】Network Role and Authority、Actors Owner、Actor Role and RemoteRole

目录 0 引言1 Network Role and Authority&#xff08;网络角色和授权&#xff09;1.1 Authority (权威角色 / 权威端)1.2 Simulated Proxy (模拟代理 / 模拟端)1.3 Autonomous Proxy (自主代理 / 主动端)1.4 示例&#xff1a;多人塔防游戏中的 NetRole 2 Actors and their Own…

QT 网络聊天室简易版

视频:qt开发网络聊天w室软件3.4界面开发_哔哩哔哩_bilibili 目录 UI部分 设计稿图 放置控件 界面美化 拖动窗体 设置界面 网络部分 配置对话框 多项目结果和服务器端设计 客户端框架开发 UI部分 设计稿图 放置控件 界面美化 现在我们把窗体自带的标题栏给去了,用我们自…

[论文泛读]zkLLM: Zero Knowledge Proofs for Large Language models

文章目录 介绍实验数据实验数据1实验数据2实验数据3 介绍 这篇文章发在CCS2024&#xff0c;CCS是密码学领域的顶会。作者是来自加拿大的University of Waterloo。文章对大语言模型像GPT和LLM等大语言模型实现了零知识可验证执行&#xff0c;但不涉及零知识可验证训练。个人觉得…

WUP-CH34X ch34x系列芯片USB转串口通信uniapp插件使用说明

插件地址&#xff1a;WUP-CH34X 系列芯片USB转串口通信安卓库 简介 本文档是针对 CH340/CH341/CH342/CH343/CH344/CH347/CH9101/CH9102/CH9103/CH9104/CH9143的 USB 转串口安卓库的开发说明文档。 主要介绍如何使用芯片的 USB 转异步串口功能&#xff08;以下简称 CH34XUART…

循环神经网络三

一.介绍 在普通的神经网络中&#xff0c;信息的传递是单向的&#xff0c;这种限制虽然使得网络变得更容易学习&#xff0c;单在一定程度上也减弱了神经网络模型的能力。特别是在现实生活中&#xff0c;网络的输出不仅和当前时刻的输入相关&#xff0c;也过去一段时间的输出相关…

Typora 伪装 LaTeX 中文样式主题 学习笔记

最近发现一个比较有意思的项目&#xff0c;Typora 伪装 LaTeX 中文样式主题 用来写毕设论文的初稿&#xff0c;格式可以统一控制&#xff0c;比较方便。项目“第五章”源格式是“5 系统测试”靠左&#xff0c;就像5.1一样。搜索了一下获得了一些零散的知识点记下来。 在Typora的…

Linux C 程序 【04】线程分离

1.开发背景 Linux 线程区分于FreeRTOS&#xff0c;线程的属性形态有2中&#xff0c;在 pthread.h 中有注解&#xff0c;如下。 /* Detach state. */ enum {PTHREAD_CREATE_JOINABLE, #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLEPTHREAD_CREATE_DETACHED #defin…

Jenkins保姆笔记(2)——基于Java8的Jenkins插件安装

前面我们介绍过&#xff1a; Jenkins保姆笔记&#xff08;1&#xff09;——基于Java8的Jenkins安装部署 本篇主要介绍下基于Java8的Jenkins插件安装。为什么要单独讲一个插件安装&#xff1f;因为一些原因&#xff0c;Jenkins自带的插件源下载几乎都会失败&#xff0c;如图…

【vulhub靶场之thinkphp】——(5-rce)

第一步&#xff1a;打开靶场 输入开启命令 cd vulhub/thinkphp/5-rce docker-compose up -d docker-compose ps//查看开启的端口 第二步&#xff1a; 访问网址 第三步&#xff1a;漏洞利用 漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖&am…

24/8/6算法笔记 支持向量机

支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种监督学习算法&#xff0c;主要用于分类和回归任务。它基于统计学习理论中的结构风险最小化原理&#xff0c;通过找到数据点之间的最优边界来实现模型的泛化能力。 import numpy as np import matplotlib.…

Android 下载安装配置

文章目录 Android Studio 下载安装配置1. 下载JDK2. JDK环境配置&#xff1a;3. 测试JDK是否安装成功&#xff1a;4. 下载Android Studio:5. 配置Android Studio:6. android studio提速方法1&#xff08;不行&#xff09;方法2&#xff1a;(很行&#xff09; Android Studio 下…

STL容器之vector

1.vector的介绍及使用 1.1vector的介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问&#xff0c;和数组一样高效。但是又不像数组&#xff0c;它的大小是可…