k8s部署nginx入门

k8s部署nginx入门

      最近一周都很忙,更新速度也有所缓慢,上回介绍了在自己的服务器上搭建k8s,在此基础上介绍如何在k8s上部署nginx,这里只做简单的部署说明,更加详细说明,在后面会跟大家介绍。

      本文使用的是deployment用来部署应用的方式部署nginx,我们直接贴出deployment的配置

apiVersion: apps/v1
kind: Deployment
metadata:
  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

下面这个是Service的配置

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  labels:
    app: nginx
spec:
  type: NodePort
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80
    nodePort: 30080

简单介绍说明

Kind:类型,有Deployment、Service、Pod、Ingress等,非常丰富;
metadata:用于定义一些组件信息,如名字、标签等;
labels:标签功能,非常有用,用于选择关联;但label不提供唯一性,可以使用组合来选择;
nodePort:对于需要给外部暴露的服务,有三种方式:NodePorts、LoadBalancer、Ingress,这里使用NodePorts;需要注意的是,默认它的端口范围是[3000-32767],需要其它范围则需要修改相关参数

      我们创建一个命名为nginx-deployment-scale.yaml的文件,将上面两部分的配置放在一起,详细如下

apiVersion: apps/v1
kind: Deployment
metadata:
  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
        
---

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  labels:
    app: nginx
spec:
  type: NodePort
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80
    nodePort: 30080

保存之后,我们直接运行以下命令运行

kubectl apply -f nginx-deployment-scale.yaml

1.png

创建成功,我们可以直接访问访问->IP:30080,浏览器出现如下效果

2.png

这样就成功部署了nginx,如果想卸载不想部署了,直接输入以下命令

kubectl delete -f nginx-deployment-scale.yaml

      以上就是简单的说明如何在k8s上部署nginx。

0条评论

发表评论