Myluzh Blog

K8S笔记-Controller-StatefulSet(有状态)

2023-9-13 myluzh Kubernetes

0x01 无状态和有状态区别 1.无状态  *认为Pod都是一样的  *没有顺序要求  *不用考虑在哪个node运行  *可以随意进行伸缩扩展 2.有状态  *上面无状态的因素都需要考虑到  *让每个pod独立的,保持pod启动顺序和唯一性  *唯一的网络标识符,持久存储  *有序的(比如mysql主从) StatefulSet是用于管理有状态应用的控制器,它为每个Pod分配唯一的标识符,并按照一定规则生成唯一的FQDN(Fully Qualified Domain Name)。这使得有状态应用能够更好地适应动态的集群环境。 而Deployment则是用于管理无状态应用的控制器,它不保证每个Pod的标识符和FQDN的唯一性,也不保证Pod的启动顺序。 0x02 部署有状态应用 StatefulSet yaml文件如下,注意:ClusterIP为none(无头service) apiVersion: apps/v1 kind: StatefulSet metadata: name: n...

阅读全文>>

标签: k8s StatefulSet

评论(0) (330)

K8S笔记-Controller-Deployment(无状态)

2023-9-13 myluzh Kubernetes

0x01 概述和应用场景 1.什么是Controller?  *在集群上管理和运行容器的对象 2.Pod跟Controller的关系?  *Pod是通过Controller来实现应用的运维(比如伸缩,滚动升级等)  *Pod和Controller之间通过label标签建立关系(selector)     3.Deployment应用场景  *部署无状态应用(应用场景:web服务 微服务)  *管理Pod和ReplicaSet  *部署滚等升级等功能 0x02 发布应用  # 1.导出yaml文件 [root@master deployment]# kubectl create deployment web --image=nginx --dry-run=client -o yaml > web.yaml # 2.通过yaml部署 [root@mas...

阅读全文>>

标签: k8s controller deployment

评论(0) (331)

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) (282)

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) (395)

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) (349)

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) (586)