当前位置: 首页 > wzjs >正文

英文网站开发哪家好seo网页优化服务

英文网站开发哪家好,seo网页优化服务,营销型网站建设成为企业发展新趋势,400全国服务热线容桂网站制作k8s中的configMap ​ configMap是k8s的资源对象,简称cm,用于保存非机密性的配置,数据可以用key/value键值对形式保存,也可以通过文件形式保存 ​ 在部署服务的时候,每个服务都有自己的配置文件,如果一台服…

k8s中的configMap

​ configMap是k8s的资源对象,简称cm,用于保存非机密性的配置,数据可以用key/value键值对形式保存,也可以通过文件形式保存

​ 在部署服务的时候,每个服务都有自己的配置文件,如果一台服务器上部署多个服务:nginx、tomcat、apache等,那么这些配置都存在这个节点上,假如一台服务器不能满足线上高并发的要求,需要对服务器扩容,扩容之后的服务器还是需要部署多个服务:nginx、tomcat、apache,新增加的服务器上还是要管理这些服务的配置,如果有一个服务出现问题,需要修改配置文件,每台物理节点上的配置都需要修改,这种方式肯定满足不了线上大批量的配置变更要求。 所以,k8s中引入了Configmap资源对象,可以当成volume挂载到pod中,实现统一的配置管理。

​ 在部署服务的时候,每个服务都有自己的配置文件,如果一台服务器上部署多个服务:nginx、tomcat、apache等,那么这些配置都存在这个节点上,假如一台服务器不能满足线上高并发的要求,需要对服务器扩容,扩容之后的服务器还是需要部署多个服务:nginx、tomcat、apache,新增加的服务器上还是要管理这些服务的配置,如果有一个服务出现问题,需要修改配置文件,每台物理节点上的配置都需要修改,这种方式肯定满足不了线上大批量的配置变更要求。 所以,k8s中引入了Configmap资源对象,可以当成volume挂载到pod中,实现统一的配置管理。

1、Configmap是k8s中的资源, 相当于配置文件,可以有一个或者多个Configmap;
2、Configmap可以做成Volume,k8s pod启动之后,通过 volume 形式映射到容器内部指定目录上;
3、容器中应用程序按照原有方式读取容器特定目录上的配置文件。
4、在容器看来,配置文件就像是打包在容器内部特定目录,整个过程对应用没有任何侵入。

局限性:ConfigMap不能保存大量数据,超过1M,就需要考虑挂载存储卷或其他方式了

configmap创建方法:

1、命令行创建:

kubectl create configmap tomcat-config --from-literal=tomcat_port=8080 --from-literal=server_name=myapp.tomcat.com
[root@mast01 cm]# kubectl get cm
NAME               DATA   AGE
kube-root-ca.crt   1      21d
tomcat-config      2      4s
[root@mast01 cm]# kubectl describe cm tomcat-config
Name:         tomcat-config
Namespace:    default
Labels:       <none>
Annotations:  <none>Data
====
server_name:
----
myapp.tomcat.comtomcat_port:
----
8080BinaryData
====Events:  <none>

2、通过文件创建:

vim nginx.conf
server {server_name www.nginx.com;listen 80;root /home/nginx/www/
}
kubectl create configmap www-nginx --from-file=www=./nginx.conf
[root@mast01 cm]# kubectl get cm
NAME               DATA   AGE
kube-root-ca.crt   1      21d
tomcat-config      2      3m19s
www-nginx          1      20s
[root@mast01 cm]# kubectl describe cm www-nginx
Name:         www-nginx
Namespace:    default
Labels:       <none>
Annotations:  <none>Data
====
www:
----
server {server_name www.nginx.com;listen 80;root /home/nginx/www/
}BinaryData
====Events:  <none>

3、指定目录创建

[root@mast01 cm]# mkdir -p mysql-cnf
[root@mast01 cm]# echo 'server-id=1' mysql-cnf/master.cnf
server-id=1 mysql-cnf/master.cnf
[root@mast01 cm]# echo 'server-id=2' mysql-cnf/slave.cnf
server-id=2 mysql-cnf/slave.cnf
[root@mast01 cm]# kubectl create cm mysql-cnf --from-file=./mysql-cnf/
configmap/mysql-cnf created
[root@mast01 cm]# kubectl get cm
NAME               DATA   AGE
kube-root-ca.crt   1      21d
mysql-cnf          2      8s
tomcat-config      2      13m
www-nginx          1      7m37s
[root@mast01 cm]# kubectl describe cm mysql-cnf
Name:         mysql-cnf
Namespace:    default
Labels:       <none>
Annotations:  <none>Data
====
server.conf:
----
server-id=1slave.conf:
----
server-id=2BinaryData
====Events:  <none>

4、通过yaml文件创建

vi config.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: app-confignamespace: default  # 可选,默认为default
data:    # 多行内容用|保留换行符,或使用>折叠换行(根据需求选择)# 简单键值对log-level: INFO# 多行配置文件内容config.properties: |server.port=8080environment=productiondebug.enabled=false# JSON配置文件示例app-settings.json: |{"featureFlag": true,"maxConnections": 100}
[root@mast01 cm]# kubectl get cm
NAME               DATA   AGE
app-config         3      4s
kube-root-ca.crt   1      21d
[root@mast01 cm]# kubectl describe cm app-config
Name:         app-config
Namespace:    default
Labels:       <none>
Annotations:  <none>Data
====
app-settings.json:
----
{"featureFlag": true,"maxConnections": 100
}config.properties:
----
server.port=8080
environment=production
debug.enabled=falselog-level:
----
INFOBinaryData
====Events:  <none>

ConfigMap使用

1、使用configMapKeyRef通过环境变量注入

vi pod-cm.yaml
apiVersion: v1
kind: Pod
metadata:name: pod-cm
spec:containers:- name: busyboximage: 172.16.80.140/busybox/busybox:latestcommand: [ "/bin/sh", "-c", "sleep 3600" ]env:- name: server.port        #定义环境变量server.portvalueFrom: configMapKeyRef:name: app-config     #指定configmap的名字key: server.port     #指定configmap中的key- name: lower              #定义环境变量lowervalueFrom:configMapKeyRef:name: app-configkey: log-levelrestartPolicy: Never[root@mast01 cm]# kubectl get pods -owide
NAME                               READY   STATUS    RESTARTS   AGE     IP              NODE     NOMINATED NODE   READINESS GATES
nfs-provisioner-7559c6b4fc-nbmb6   1/1     Running   0          5m33s   10.244.140.65   node02   <none>           <none>
pod-cm                             1/1     Running   0          6s      10.244.140.66   node02   <none>           <none>
[root@mast01 cm]# kubectl exec -it pod-cm -- /bin/sh
/ # env
KUBERNETES_SERVICE_PORT=443
KUBERNETES_PORT=tcp://10.96.0.1:443
HOSTNAME=pod-cm
SHLVL=1
HOME=/root
TERM=xterm
lower=INFO          # 来源 cm app-config 的 log-level
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_SERVICE_HOST=10.96.0.1
PWD=/
server.port=server.port=8080    # 来源 cm app-config 的 config.properties
environment=production
debug.enabled=false

2、使用envfrom通过环境变量注入

vi pod-cm-envfrom.yaml
kind: Pod
metadata:name: pod-cm
spec:containers:- name: busyboximage: 172.16.80.140/busybox/busybox:latestcommand: [ "/bin/sh", "-c", "sleep 3600" ]envFrom:- configMapRef:name: app-config     #指定configmap的名字restartPolicy: Neverkubectl get pods -owide
NAME                               READY   STATUS    RESTARTS   AGE   IP              NODE     NOMINATED NODE   READINESS GATES
nfs-provisioner-7559c6b4fc-nbmb6   1/1     Running   0          20m   10.244.140.65   node02   <none>           <none>
pod-cm                             1/1     Running   0          69s   10.244.140.67   node02   <none>           <none>
[root@mast01 cm]# kubectl exec -it pod-cm -- /bin/sh
/ # env
KUBERNETES_PORT=tcp://10.96.0.1:443
KUBERNETES_SERVICE_PORT=443
HOSTNAME=pod-cm
SHLVL=1
HOME=/root
config.properties=server.port=8080
environment=production
debug.enabled=falseapp-settings.json={"featureFlag": true,"maxConnections": 100
}log-level=INFO
TERM=xterm
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_SERVICE_HOST=10.96.0.1
PWD=/

3、把configMap做成volume,挂载到pod里

vi pod-cm-volume.yaml 
apiVersion: v1
kind: Pod
metadata:name: pod-cm
spec:containers:- name: busyboximage: 172.16.80.140/busybox/busybox:latestcommand: [ "/bin/sh", "-c", "sleep 3600" ]volumeMounts:- name: app-configmountPath: /tmp/configvolumes:- name: app-configconfigMap:name: app-configrestartPolicy: Never[root@mast01 cm]# kubectl get pods -owide
NAME                               READY   STATUS    RESTARTS   AGE   IP              NODE     NOMINATED NODE   READINESS GATES
nfs-provisioner-7559c6b4fc-nbmb6   1/1     Running   0          31m   10.244.140.65   node02   <none>           <none>
pod-cm                             1/1     Running   0          4s    10.244.140.69   node02   <none>           <none>
[root@mast01 cm]# kubectl get pods -owide
NAME                               READY   STATUS    RESTARTS   AGE   IP              NODE     NOMINATED NODE   READINESS GATES
nfs-provisioner-7559c6b4fc-nbmb6   1/1     Running   0          31m   10.244.140.65   node02   <none>           <none>
pod-cm                             1/1     Running   0          8s    10.244.140.69   node02   <none>           <none>
[root@mast01 cm]# kubectl exec -it pod-cm -- /bin/sh
/ # cd /tmp/config
/tmp/config # ls
app-settings.json  config.properties  log-level
/tmp/config # cat app-settings.json
{"featureFlag": true,"maxConnections": 100
}
/tmp/config # cat config.properties
server.port=8080
environment=production
debug.enabled=false
/tmp/config # cat log-level

4、configMap热更新

​ 通过kubectl edit cm cm 可以直接更新cm,保存后cm立即生效
​ env方式的不会更新
​ volume方式的大约10s后会更新

http://www.dtcms.com/wzjs/359151.html

相关文章:

  • 网站集约化建设2019年4月618网络营销策划方案
  • 在什么网站做公司人员增减网址服务器查询
  • 政府网站集约话建设百度搜索优化平台
  • 常德政府网站市民留言免费公司网站建站
  • 常用的网页开发技术有哪些搜索引擎seo是什么
  • 外国人做外贸都会浏览哪些网站产品怎么进行推广
  • python不用框架做动态网站网络口碑推广公司
  • 国外网站A怎么在百度上发布个人文章
  • 深圳品牌网站设计格seo网站排名推广
  • 可靠的网站建设吉林黄页电话查询
  • 网站虚拟空间购买岳阳网站界面设计
  • b2c网站怎么做百度推广官网电话
  • 东莞网站建设信科南宁seo教程
  • pc网站怎么做自适应seo排名点击器
  • 北京梦创义网站建设企业seo顾问公司
  • 用flask做网站网址大全是ie浏览器吗
  • 如何给网站死链接做404百度指数人群画像
  • 导购网站如何做百度服务热线
  • 兼职做网站挣钱么发软文的平台
  • 专业的营销型网站制作百度怎么推广自己的网站
  • 必应网站收录提交入口百度关键词排名批量查询
  • 用dw做旅游网站的方法公众号推广渠道
  • 展展示型网站开发网站seo优化方案
  • 网页视频怎么下载到手机上关键词优化的策略有哪些
  • 学校网站建设的作用百度官网入口链接
  • 自助建网站100个经典创意营销方案
  • 广安网站建设推荐营业推广策略有哪些
  • 基于java ee的电子商务网站建设 下载seo全网推广营销软件
  • 微信公众平台小程序助手网站快速优化排名软件
  • 专业营销网站友情链接检查