K8s deployment& service 创建示例

#########################deployment 创建容器示例#############################
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx-ops
  labels:
    app: nginx002
  namespace: ops  
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx002
    spec:
      containers:
      - name: nginx002
        image: harbor.xxx.com/ops/nginx-2.2.3:v1   #docker 仓库地址
        ports:
        - containerPort: 80
########################################################
# service  示例                                                                                                      #
########################################################
apiVersion: v1
kind: Service
metadata: 
  name: ops-test-nginx
  labels: 
    name: ops-test-nginx
spec:
  type: LoadBalancer
  ports:
  - port: 8099
    targetPort: 80
    protocol: TCP
  selector:
    app: nginx001
################################################
apiVersion: v1
kind: Service
metadata:
  name: ops-test-nginx02
  labels: 
    name: ops-test-nginx02
spec:
  selector:
    app: nginx002
  ports:
    - name: http
      port: 8000
      protocol: TCP
      targetPort: 80
  type: NodePort    

#####################################################################

service 的几种类型:

ClusterIP:
创建一个 ClusterIP 来提供集群内部访问,默认选项
NodePort:
在每个节点 IP 上暴露一个端口(NodePort)来提供服务,集群外部通过这种方式来访问:<NodeIP>:<NodePort>,同时会创建一个 ClusterIP,这种类型使用较多默认暴露的随机端口范围:(30000-32767)可以通过 nodePort 字段来显式的指定端口
LoadBalancer:
通过和云服务商的负载均衡关联使用,此时 NodePort and ClusterIP 将自动创建
ExternalName:
将 service 名称映射到一个 externalName (例如一个域名),通过 kube-dns 来提供 DNS 到 CNAME 记录

猜你喜欢

转载自blog.csdn.net/qq_42409788/article/details/88575842