Myluzh Blog

Strive to become a dream architect.

K8S笔记-Service(服务类型)

2023-9-10 myluzh Kubernetes

0x01 Service概述 1.Service存在的意义  *防止Pod失联(服务发现)  *定义一组Pod访问策略(负载均衡) 2.Pod跟Service关系  *通过Service来实现负载均衡  *根据label和selector标签建立关联的 0x02 Service三种类型 ClusterIP:集群内部使用 apiVersion: v1 kind: Service metadata: name: my-service spec: type: ClusterIP selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 8080 NodePort:会在集群中的所有主机上打开一个指定的端口。 apiVersion: v1 kind: Service met...

阅读全文>>

标签: k8s service

评论(0) (119)

K8S笔记-Pod(实现机制、镜像拉取、健康检查、调度策略)

2023-8-23 myluzh Kubernetes

0x01 Pod概述 Pod 是k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在 k8s 上运行容器化应用的资源对象,其他的资源对象都是用来支撑或者扩展 Pod 对象功能的,比如控制器对象是用来管控 Pod 对象的,Service 或者Ingress 资源对象是用来暴露 Pod 引用对象的,PersistentVolume 资源对象是用来为 Pod提供存储等等,k8s 不会直接处理容器,而是Pod,Pod 是由一个或多个 container 组成。 Pod是Kubernetes的最重要概念,每一个Pod都有一个特殊的被称为”根容器“的Pause容器。Pause 容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或多个紧密相关的用户业务容器。 0x02 Pod存在的意义 (1)创建容器使用docker,一个docker对应市一个容器,一个容器有进程,一个容器运行一个应用程序。 (2)Pod是多进程设计,运行多个应用程序。 一个Pod有多个容器,一个容器里面运行一个应用程序 (3)...

阅读全文>>

标签: k8s pod

评论(0) (211)

K8S笔记-YAML(文件生成与导出)

2023-8-6 myluzh Kubernetes

0x01 生成yaml文件 #通过kubectl create 生成yaml文件 kubectl create deployment web --image=nginx -o yaml --dry-run >ng.yaml 0x02 导出yaml文件 #通过kubectl get 导出yaml文件 kubectl get deploy nginx -o yaml --export > ng.yaml

阅读全文>>

标签: k8s yaml

评论(0) (105)

K8S笔记-搭建集群(通过二进制方式)

2023-8-1 myluzh Kubernetes

0x00 安装要求 在开始之前,部署 Kubernetes 集群机器需要满足以下几个条件: (1)一台或多台机器,操作系统 CentOS7.x-86_x6 (2)硬件配置: 2GB 或更多 RAM,2个 CPU 或更多 CPU,硬盘 30GB 或更多 (3)集群中所有机器之间网络互通 (4)可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点 (5)禁止 swap 分区 组件版本:k8s组件版本v1.19.16  etcd版本3.3.10 服务器 主机名 IP地址 主要组件 master+etcd01 master 172.16.10.20 kube-apis...

阅读全文>>

标签: k8s kubernetes 二进制

评论(0) (409)

K8S笔记-集群架构组件详解

2023-7-12 myluzh Kubernetes

0x00 架构图 0x01 MasterNode *api server:集群对外的统一入口,以restful方式,交给etcd进行存储。 *scheduler:节点调度,选择node节点应用部署。 *controller-manager:处理集群常规后台任务,一个资源对应一个控制器。 *etcd:存储系统,用于保存集群相关数据。 0x02 WorkerNode *kubelet:master在worker创建的agent,管理本机容器生命周期的各种操作。 *kube-proxy:提供网络代理,负载均衡等操作。

阅读全文>>

标签: k8s 集群 架构 组件

评论(0) (155)

Kubernetes(k8s)-Namespace命名空间

2023-7-4 myluzh Kubernetes

0x01 前言 如果一个集群中部署了多个应用,所有应用都在一起,就不太好管理,也可以导致名字冲突等。 我们可以使用 namespace 把应用划分到不同的命名空间,跟代码里的 namespace 是一个概念,只是为了划分空间。 0x02 命令 # 创建命名空间 kubectl create namespace testapp # 部署应用到指定的命名空间 kubectl apply -f app.yml --namespace testapp # 查询 kubectl get pod --namespace kube-system 0x03 增强工具 kubens 可以用 kubens 快速切换 namespace,kubens地址:https://github.com/ahmetb/kubectx 1.安装kubens sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx sudo ln -s ...

阅读全文>>

标签: k8s kubernetes Namespace 命名空间

评论(0) (223)