K8s学习
2026-09-18
📑 目录
前言
架构
flowchart LR
subgraph Cluster
subgraph Node1
Pod11
Pod12
end
subgraph Node2
Pod21
Pod22
end
...
end架构理解
应用
YAML配置
Pod配置
apiVersion: v1 #api版本
kind: Pod #资源类型
metadata: #填写关于这个对象的标识
name: nginx-pod #为pod命名
labels: #添加标签
app: nginx
spec:
containers: #创建容器,注意一般只会一个pod一个容器
- name: nginx-container
image: nginx
- name: loki
image: grafana/lokiReplicaSet配置:
用来维持pod数量
apiVersion: apps/v1
kind: ReplicaSet #如果Deployment可以更改配置以更新所有pod
metadata:
name: nginx-replicaset
lables:
name: nginx-replica
spec:
replicas: 4 #维持的pod数量
selector:
matchLabels: #匹配的标签
app: nginx #匹配`app: nginx`标签
template: #创建模板,以下为模板,当pod不够时用该模板创建
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx-container
image: nginx
- name: loki
image: grafana/lokiService配置
用于提供接口供它调用
- NodePort:提供接口供外部调用
- ClusterIP:提供IP供
apiVersion: v1
kind: Service
metadata:
name: external-service
spec:
type: NodePort #定义Service类型
selector:
app: nginx #匹配标签的pod
ports:
- port: 80 #节点中某Service的端口号
targetPort: 80 #Service中某pod的端口号
nodePort: 30008 #节点对外暴露的端口,范围要求:30000-32767指令
kubectl get pods #查看当前pod
kubectl delete pod xxx #删除xxxpod
kubctl run xxx -i --tty --image=yyy #运行一个已yyy为镜像的xxxpod
kubectl create -f ddd.yml #通过ddd.yaml创建pod
kubectl replace -f ddd.yml #使用ddd.yml代替原来的pod
kubectl get rs #查看replicaset的缩写
kubectl scale --replicas=5 -f ddd.yml #更改replicas为5并应用到ddd.yml上
kubectl apply -f ddd.yml #应用ddd.yml
kubectl get services #查看当前service
评论
加载评论中...