Hello K8s
- 创建集群
kind create cluster
kubectl apply -f mysql-deploy.yaml
k create -f mysql-svc.yaml
k get svc mysql
获取 CLUSTER-IPk apply -f myweb-deploy.yaml
连接 CLUSTER-IPk create -f myweb-svc.yaml
指定 nodePortk get nodes -o wide
获取 node 的 INTERNAL-IP,简称 nodeIPcurl -vL http://<nodeIP>:<nodePort>/demo/
其他命令
k get pods
k get nodes
k get scv
k describe node <name>
复制代码
集群 Cluster
Cluster 包含一个 Master 和 N 个 Node(N>=0)。
Master 上的关键进程
- kube-apiserver:提供 HTTP RESTful API接口的主要服务,是Kubernetes里对所有资源进行增、删、改、查等操作的唯一入口,也是集群控制的入口进程。
- kube-controller-manager:Kubernetes 里所有资源对象的自动化控制中心
- kube-scheduler:负责资源调度(Pod 调度)的进程
- etcd
Node 上的关键进程
- kubelet:负责 Pod 对应容器的创建、启停等任务,同时与 Master 密切协作,实现集群管理的基本功能。
- kube-proxy:实现 Kubernetes Service 的通信与负载均衡机制的服务。
- 容器运行时(如 Docker):负责本机的容器创建和管理。
Service
一般说来,Service指的是无状态服务,通常由多个程序副本提供服务,在特殊情况下也可以是有状态的单实例服务,比如MySQL这种数据存储类的服务。
系统最终由多个提供不同业务能力而又彼此独立的微服务单元组成,服务之间通过TCP/IP进行通信,从而形成强大又灵活的弹性网格。
Pod
待续……