首页 > Web开发 > 详细

Kubernetes(k8s) 配置 Nginx

时间:2019-12-30 20:04:44      阅读:1088      评论:0      收藏:0      [点我收藏+]

k8s 安装教程请参考:https://www.cnblogs.com/spll/p/10033316.html

Nginx安装配置参考: https://www.cnblogs.com/puroc/p/5764330.html

 

一、环境配置:

master:192.168.0.38

node1:    192.168.0.39

node2:    192.168.0.40

安装完后用 kubectl get node 查看一下

技术分享图片

二、创建configMap

kubectl create configmap confnginx --from-file nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                        ‘$status $body_bytes_sent "$http_referer" ‘
                        ‘"$http_user_agent" "$http_x_forwarded_for"‘;

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    #include /etc/nginx/conf.d/*.conf;

server {
       listen                    80;
       server_name               localhost;
       root                      /home/wwwroot/test;
       index                     index.html;
}
}

  

技术分享图片

 

在两个Node上新建我们的web访问目录: 

技术分享图片

 

 技术分享图片

 

 

三、创建nginx-rc.yaml

Replication Controller简称RC,它能够保证Pod持续运行,并且在任何时候都有指定数量的Pod副本,在此基础上提供一些高级特性,比如滚动升级和弹性伸缩。

apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-controller
spec:
replicas: 2 #两个pod,这里我认为是有几个node就建个pod吧?不然会不均衡
selector:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: docker.io/nginx:alpine                   #镜像,建议现在Node 先下好。
ports:
- containerPort: 80
volumeMounts:
- mountPath: /etc/nginx/nginx.conf                 # 容器内的配置文件
name: nginx-config
subPath: nginx.conf                           #当前master宿主机目录的文件,会挂载到容器内的/etc/nginx/nginx.conf,文件挂载会用到configmap
- mountPath: /home/wwwroot/test                    #容器内的目录,会自动新建。
name: nginx-data
volumes:
- name: nginx-config
configMap:
name: confnginx                                         #对应configmap创建的名字
- name: nginx-data
hostPath:
path: /home/wwwroot/hello                  #各个Node中目录,会挂载到容器内的/home/wwwroot/test,在各个Node手动新建。

 

 

kubectl create -f nginx-rc.yaml

技术分享图片

 

 

 

四、创建nginx-svc.yaml

 

apiVersion: v1
kind: Service
metadata:
  name: nginx-service-nodeport
spec:
  ports:
    - port: 8000
      targetPort: 80
      protocol: TCP
      nodePort: 30080    #外网访问端口
  type: NodePort   #这个是端口类型
  selector:
    name: nginx

 

  

kubectl create -f nginx-service.yaml

技术分享图片

 

 

五、验证

技术分享图片

 

 技术分享图片

Kubernetes(k8s) 配置 Nginx

原文:https://www.cnblogs.com/li-ze-bo/p/12120842.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!