日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

docker 部署_Nginx K8s + Docker 部署 ,虚拟机部署教程。

發布時間:2024/7/23 Nginx 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 部署_Nginx K8s + Docker 部署 ,虚拟机部署教程。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nginx K8s + Docker 部署 ,虛擬機部署教程!

Linux 虛擬機 部署

1、下載nginx:

http://nginx.org/download/

2、選擇一個版本進行下載:

wget http://nginx.org/download/nginx-1.14.0.tar.gz

3、解壓:

tar -xvf nginx-1.14.0.tar.gz

4、安裝依賴包:

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

5、編譯、安裝

cd $NGINX_HOME./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_realip_modulemakemake install

6、修改nginx.conf

#user nobody;worker_processes??1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include 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??logs/access.log??main; sendfile on;????#tcp_nopush?????on; #keepalive_timeout 0;????keepalive_timeout??65; #gzip on; upstream admin-server { server 10.68.60.100:18060 max_fails=2 fail_timeout=30; server 10.68.60.101:18060 max_fails=2 fail_timeout=30; server 10.68.60.110:18060 max_fails=2 fail_timeout=30; } ????upstream?api-server?{ server 10.68.60.100:18082 max_fails=2 fail_timeout=30; server 10.68.60.101:18082 max_fails=2 fail_timeout=30; server 10.68.60.110:18082 max_fails=2 fail_timeout=30;????} server { listen 8080; server_name api-server;????????????????keepalive_timeout???????30; location / { proxy_pass http://api-server; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host;????????????????????????proxy_set_header?X-Forwarded-For?$proxy_add_x_forwarded_for; proxy_set_header Host $host:$server_port; } } server { listen 8081; server_name admin-server; keepalive_timeout 30; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;????????????????proxy_set_header?Host?$host:$server_port; location / { proxy_pass http://admin-server; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;????????????????????????proxy_set_header?Host?$host:$server_port; }????}}

7、啟動nginx:

$NGINX_HOMT/sbin/nginx

8、重啟nginx:

$NGINX_HOMT/sbin/nginx -s stop$NGINX_HOMT/sbin/nginx

9、熱更新:

$NGINX_HOMT/sbin/nginx -s reload

Docker + k8s 部署

前提:假定你已經安裝并集成好docker和k8s基礎環境!

1、創建docker構建目錄:

mkdir -p /opt/docker/build/nginx

2、下載nginx:

cd /opt/docker/build/nginxwget http://nginx.org/download/nginx-1.14.0.tar.gz

3、編寫Dockerfile,內容如下:

FROM ansible/centos7-ansibleADD?nginx-1.14.0.tar.gz?/RUN mkdir -p /opt/soft &&\ mkdir -p /opt/tarball &&\ mkdir -p /opt/src &&\ touch /opt/daemon.log &&\ mv /nginx-1.14.0 /opt/src &&\ yum -y install gcc pcre-devel zlib-devel openssl openssl-devel &&\ cd /opt/src/nginx-1.14.0 &&\ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_realip_module &&\ make &&\ make install &&\ cp -R /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeENTRYPOINT [ "sh", "-c", "/usr/local/nginx/sbin/nginx && tail -f /opt/daemon.log" ]

4、構建docker?鏡像:

cd /opt/docker/build/nginxdocker build --network host -t 10.68.60.103:5000/nginx:1.14.0 -f Dockerfile .

注意:10.68.60.103:5000需要根據你自己的docker私服地址修改。

5、推送鏡像到私服:

docker push 10.68.60.103:5000/nginx:1.14.0

6、編寫k8s nginx-deployment.yaml文件,內容如下:

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment namespace: my-namespace labels: app: nginx-deploymentspec: replicas: 1 selector: matchLabels: app: nginx-pod template: metadata: labels: app: nginx-pod spec: nodeSelector: deploy.nginx: "true" restartPolicy: Always containers: - name: nginx-container image: "10.68.60.103:5000/nginx:1.14.0" ports:# - containerPort: 80 volumeMounts: - mountPath: "/usr/local/nginx/conf/nginx.conf" name: "nginx-volume-conf" - mountPath: "/usr/local/nginx/logs" name: "nginx-volume-log" imagePullSecrets: - name: regcred volumes: - name: "nginx-volume-conf" hostPath: path: "/opt/apps-mgr/nginx/conf/nginx.conf" type: File - name: "nginx-volume-log" hostPath: path: "/opt/apps-mgr/nginx/logs" type: DirectoryOrCreate

注意:/opt/apps-mgr/nginx/conf/nginx.conf文件需要提前配置好,筆者這里配置文件如下:

#user nobody;worker_processes??1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include 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??logs/access.log??main; sendfile on;????#tcp_nopush?????on; #keepalive_timeout 0;????keepalive_timeout??65; #gzip on; upstream admin-server { server 10.68.60.100:18060 max_fails=2 fail_timeout=30; server 10.68.60.101:18060 max_fails=2 fail_timeout=30; server 10.68.60.110:18060 max_fails=2 fail_timeout=30; } ????upstream?api-server?{ server 10.68.60.100:18082 max_fails=2 fail_timeout=30; server 10.68.60.101:18082 max_fails=2 fail_timeout=30; server 10.68.60.110:18082 max_fails=2 fail_timeout=30;????} server { listen 8080; server_name api-server;????????????????keepalive_timeout???????30; location / { proxy_pass http://api-server; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host;????????????????????????proxy_set_header?X-Forwarded-For?$proxy_add_x_forwarded_for; proxy_set_header Host $host:$server_port; } } server { listen 8081; server_name admin-server; keepalive_timeout 30; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;????????????????proxy_set_header?Host?$host:$server_port; location / { proxy_pass http://admin-server; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;????????????????????????proxy_set_header?Host?$host:$server_port; }????}}

初步可以先用默認的配置,等啟動成功后再修改,修改后需要進入Pod重啟Nginx,進入命令如下:

kubectl get pods -A | grep nginxkubectl exec -it -n my-namespace nginx-deployment-5dcf489c44-f9c4r/usr/local/nginx/sbin/nginx -s stop && /usr/local/nginx/sbin/nginx

另外nodeSelector部分作用是指定nginx運行在某個節點上。需要提前通過下面命令給指定節點打上標簽,例如指定允許在node2時:

kubectl label nodes node2 deploy.nginx=true

7、執行deployment:

kubectl apply -f nginx-deployment.yamlkubectl get pods -Akubectl -n?my-namespace?describe pod xxxxxkubectl -n my-namespace get events

8、編寫k8s nginx-service.yaml文件,內容如下:

apiVersion: v1kind: Servicemetadata: namespace: my-namespace name: nginx-api-server-servicespec: type: NodePort selector: app: nginx-pod ports: - protocol: TCP port: 8080 targetPort: 8080??????nodePort:?8080---apiVersion: v1kind: Servicemetadata: namespace: my-namespace name: nginx-admin-server-servicespec: type: NodePort selector: app: nginx-pod ports: - protocol: TCP port: 8081 targetPort: 8081 nodePort: 8081

9、執行service:

kubectl apply -f nginx-service.yamlkubectl get service -Akubectl -n my-namespace describe service xxxxxkubectl -n my-namespace get events

---------- 正文結束 ----------

長按掃碼關注微信公眾號

Java軟件編程之家

總結

以上是生活随笔為你收集整理的docker 部署_Nginx K8s + Docker 部署 ,虚拟机部署教程。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。