怎麼在k8s中部署nginx?
k8s啟動nginx服務
本次需要啟動的是一個透過nginx實現的靜態檔案伺服器。
建立名稱空間指令碼create_shjujubu_namespace.yaml
MT4教程專題
apiVersion: v1
kind: Namespace
metadata:
name: shujubu
labels:
name: shujubu
執行檔案建立 shujubu名稱空間:
kubectl create -f create_shjujubu_namespace.yaml
1
需要的映象列表:
nginx 1.17 62c261073ecf 3 months ago 109MB
1
定義pod檔案 nginx-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: sjb-nginx
namespace: shujubu
labels:
name: sjb-nginx
spec:
containers:
- name: nginx
image: ccr.ccs.tencentyun.com/shujubu/nginx:1.17
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
volumeMounts:
- mountPath: /etc/nginx/nginx.conf
name: config
- mountPath: /etc/nginx/conf.d/default.conf
name: default
- mountPath: /var/log/nginx/
name: log
- mountPath: /usr/share/nginx/shzr/area
name: shzr
- mountPath: /usr/share/nginx/zgbs/mujun
name: mujun
- mountPath: /usr/share/nginx/zgbs/area
name: zgbs
restartPolicy: Never
volumes:
- name: config
hostPath:
path: /home/users/qix/sjb_bs_source/nginx/nginx.conf
- name: default
hostPath:
path: /home/users/qix/sjb_bs_source/nginx/conf.d/default.conf
- name: log
hostPath:
path: /home/users/qix/sjb_bs_source/nginx/log/
- name: shzr
hostPath:
path: /home/users/qix/sjb_bs_source/shzr/area/
- name: mujun
hostPath:
path: /home/users/qix/sjb_bs_source/zgbs/mujun/
- name: zgbs
hostPath:
path: /home/users/qix/sjb_bs_source/zgbs/area/
上面的pod中只定義了一個容器,並在容器中掛載了nginx的配置檔案、日誌檔案及我們要訪問的資原始檔。
定義service檔案 nginx-np.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
selector:
name: sjb-nginx
type: NodePort
ports:
- protocol: TCP
port: 10008
targetPort: 80
nodePort: 30008
注意,service中的selector中的配置要與pod中的labels保持一致。
並附上nginx.conf中的部分配置
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_min_length 1024K; # 大於1M的壓縮
gzip_comp_level 5; # 壓縮級別 1-10 數字越大壓縮的越好
gzip_types text/plain application/x-javascript text/css application/xml application/json text/javascript application/x-httpd-php image/jpeg image/gif image/png; # 壓縮的檔案型別
server {
listen 80;
server_name 192.168.111.36:80;
location / {
root /usr/share/nginx/html;
index index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ^~ /shzr/area/ {
root /usr/share/nginx/;
autoindex on;
}
location ^~ /zgbs/mujun/ {
root /usr/share/nginx/;
autoindex on;
}
location ^~ /zgbs/area/ {
root /usr/share/nginx/;
autoindex on;
}
}
}
啟動pod命令:
kubectl create -f nginx-pod.yaml -n shujubu
1
啟動service命令:
kubectl create -f nginx-np.yaml -n shujubu
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2679875/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在 K8S 中快速部署 Redis Cluster & RedisinsightK8SRedis
- 在K8S中,是怎麼實現資料持久化的?K8S持久化
- 在 k8s 中部署 PrometheusK8SPrometheus
- ssl 在nginx上的部署示例Nginx
- K8S 部署 ingress-nginx (二) 部署後端為 tomcatK8SNginx後端Tomcat
- 【k8s】使用k8s部署一個簡單的nginx服務K8SNginx
- 在K8S中,什麼是靜態Pod?K8S
- 在K8S中,什麼是 Headless Service?K8S
- 在K8S中,什麼是PV和PVC?K8S
- 在K8S中,在服務上線的時候Pod起不來怎麼進行排查?K8S
- 在nginx上部署vue專案(history模式);NginxVue模式
- 在 Ubuntu 上使用 Nginx 部署 Flask 應用UbuntuNginxFlask
- nginx部署Nginx
- k8s 新版本 部署 Ingress-nginx controllerK8SNginxController
- 【原創】一層Nginx反向代理K8S化部署實踐NginxK8S
- 在 Homestead 中怎麼配置 Redis ?Redis
- 在 K8s 中快速部署使用 GitLab 並構建 DevOps 專案K8SGitlabdev
- 基於nginx和uWSGI在Ubuntu上部署DjangoNginxUbuntuDjango
- 在K8S中,kube-proxy iptables原理是什麼?K8S
- 在K8S中,主節點的作用是什麼?K8S
- 在K8S中,deployment的建立過程包括什麼?K8S
- helm在k8s上部署Elasticsearch和KibanaK8SElasticsearch
- [部署01] NginxNginx
- Nginx部署配置Nginx
- Ubuntu 部署 NginxUbuntuNginx
- 在K8S中,kube-proxy ipvs原理是什麼?K8S
- 在K8S中,Deployment的升級過程是什麼?K8S
- 怎麼用docker安裝nginxDockerNginx
- 幽默:K8S沒有那麼難,部署在Kubernetes上個人部落格K8S
- 在K8S中,初始化容器(initcontainer)作用是什麼?K8SAI
- 在Linux中,tomcat和nginx的區別是什麼?LinuxTomcatNginx
- k8s安裝nginxK8SNginx
- 在k8s裡面部署自己的go web服務K8SGoWeb
- k8s dashboard部署K8S
- rancher部署k8sK8S
- v-model指令在元件中怎麼玩元件
- hypernetwork在SD中是怎麼工作的
- 在nginx上部署vue專案(history模式)--demo實列;NginxVue模式