003--【K8S】进行nginx服务(Deployment)

1、写作背景

购买HUAWEI云进行K8S集群尝试,上一次已经安装kubectl,现在进行正式的服务创建

2、参考网址


3、核心概念

  • 创建nginx_deployment.yaml
  • 创建nginx_service.yaml(ClusterIP)
  • 创建nginx_service.yaml(NodePort)
  • 创建nginx_service.yaml(LoadBalance)

4、核心操作

4.1)创建nginx_deployment负载服务

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - image: nginx
          imagePullPolicy: Always
          name: nginx
      imagePullSecrets:
        - name: default-secret

  • 2、执行创建命令
kubectl create -f nginx_deployment.yaml
  • 3、测试功能使用

4.2) 创建nginx_service.yaml(ClusterIP)

创建了pod之后,可以进行正常访问,但是有一个问题:我要的是负载,并不是单个服务访问,此时要使用service进行映射

  • 常见service(ClusterIP)进行负载
apiVersion: v1
kind: Service
metadata:
  name: nginxservice
spec:
  type: ClusterIP
  selector:
    app: nginx
  ports:
    - name: http
      protocol: TCP
      port: 8080
      targetPort: 80
    - name: https
      protocol: TCP
      port: 443
      targetPort: 443
  • 查看service负载的pod
kubectl get endpoints nginxservice

  • 到这里已经完成了pod负载

但是这个IP是集群内部IP,外部没有办法进行访问,但是这个私有IP没有那么简单直接和大网IP挂载一起,要用service其他类型进行暴露


4.3) 创建nginx_service.yaml(NodePort)

  • 创建nginx_service.yaml(NodePort)
apiVersion: v1
kind: Service
metadata:
  name: nginxservice
spec:
  type: NodePort
  selector:
    app: nginx
  ports:
    - name: http
      nodePort: 30001
      protocol: TCP
      port: 8080
      targetPort: 80
    - name: https
      nodePort: 30002
      protocol: TCP
      port: 443
      targetPort: 443
  • 查看service状态
  • 查看service负载
  • 测试外网联通性
  • 测试外网访问
  • 此时service的外网访问已经配置完成,可以进行pod的负载了

4.3) 创建nginx_service.yaml(LoadBalance)
4.4) 创建Ingress进行负载(后续补充)


5、操作总结

至此:我们已经完成了deployment创建pod,然后用 service进行服务负载,让外部API进行访问

  • 博客内容已经上传到百度云,需要的朋友自行下载

链接:https://pan.baidu.com/s/1v6oWBK59UHwmXqnKvFwkFA
提取码:vfyt

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、基础架构 1.1 Master Master节点上面主要由四个模块组成:APIServer、scheduler...
    阿斯蒂芬2阅读 13,720评论 0 44
  • 上一篇我们的基本工作已经准备完成,这篇我们说重要的安装过程。 kubernetes 相关服务安装 在 kubern...
    zoluo阅读 6,473评论 0 6
  • 一、 K8s 是什么? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群...
    loveroot阅读 11,621评论 1 21
  • 最近一段时间甚嚣尘上的不是房价如何暴涨,而是房租。 根据21世纪经济研究院发布的数据显示,2018年7月房租同比去...
    智囊团阅读 1,228评论 0 0
  • 三国时期的诸葛亮在《诫子书》有这样一句名言“非淡泊无以明志,非宁静无以志远”,这话的大意是,没有恬静寡欲的修养,就...
    高安让阅读 4,328评论 1 3