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
五、验证
原文:https://www.cnblogs.com/li-ze-bo/p/12120842.html