简介:

  1. Pod: k8s最小单位
  2. Service: Pod每次动态创建后,自动分配ip会不同,所以引入了service(即服务的注册与发现)
  3. namespace: 命名空间,主要用于隔离
    部署步骤
  • 创建namespace nginx-namespace.yaml
apiVersion: v1 #类型为Namespace
kind: Namespace  #类型为Namespace
metadata:
  name: ns-test  #命名空间名称
  labels:
    name: label-test  #pod标签

执行

#创建
kubectl create -f nginx-namespace.yaml
#查询
kubectl get namespace
  • 创建pod,一般不直接create pod,而是通过controller来创建pod。deployment为其中一种controller

nginx-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: ns-test
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 80

执行

#创建
kubectl create -f nginx-deployment.yaml
#查询
kubectl get deployment  -n ns-test
#或
kubectl get pods -n ns-test

kubectl get pods -o wide -n ns-test

kubectl get deploy nginx-deployment  -n ns-test
  • 创建Service nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
  namespace: ns-test
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

执行(其中svc就是service的简写)

kubectl create -f nginx-service.yaml

kubectl get svc nginx-service -o wide  -n ns-test
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐