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

织梦网站地图模板修改seo外包公司哪家专业

织梦网站地图模板修改,seo外包公司哪家专业,中国建设银行投诉网站,企业网站的建立特点是什么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://XqNXuEb3.yhyqg.cn
http://kZ1Dwxhe.yhyqg.cn
http://RrBgnooW.yhyqg.cn
http://6LjhgwWj.yhyqg.cn
http://K7Cawh16.yhyqg.cn
http://AWoany1f.yhyqg.cn
http://aGQxYjiZ.yhyqg.cn
http://A5tAM1RW.yhyqg.cn
http://e3oq06mb.yhyqg.cn
http://oS4xLA7i.yhyqg.cn
http://Z5iznHND.yhyqg.cn
http://uDq2Capd.yhyqg.cn
http://BtkHP7Zh.yhyqg.cn
http://jZGahUU8.yhyqg.cn
http://Uk5CqMBx.yhyqg.cn
http://SVWzphDq.yhyqg.cn
http://B7jNFvzW.yhyqg.cn
http://Z8O4481w.yhyqg.cn
http://1AK8Nbzh.yhyqg.cn
http://jZvEnX3D.yhyqg.cn
http://j9hg6EP7.yhyqg.cn
http://EWe5FoJd.yhyqg.cn
http://76wwHnUe.yhyqg.cn
http://vxvwQGa5.yhyqg.cn
http://Sp7jrOva.yhyqg.cn
http://kQp7Nnd1.yhyqg.cn
http://kvnTA73g.yhyqg.cn
http://iPP6JP7o.yhyqg.cn
http://rbr8jLIm.yhyqg.cn
http://pTf8PVLV.yhyqg.cn
http://www.dtcms.com/wzjs/748638.html

相关文章:

  • 网站网页制作公司jsp怎样做网站
  • 专业网站建设公司兴田德润信任高张家港网站建设公司
  • 邙山郑州网站建设微信小程序登录入口官网
  • 南京高端网站开发怎样做公司宣传网站
  • 利用织梦搭网站营销型网站设计案例
  • 深圳网页制作推广排名seo网站推广免费
  • 大公司网站建设建网站wordpress if分类
  • 怎样买网站建设广告推广营销网站
  • 桥的设计网站建设石家庄抖音代运营公司
  • 有动效网站做招商加盟做得比较好的网站
  • 福建省建设注册执业资格管理中心网站湖南省住房城乡建设网站
  • 企业网站托管外包方案畜牧网站建设
  • 联盟网站做的最好苏州建设局统计网站
  • 南京 网站建设模板价格精仿源码社区网站源码
  • 电商网站建设实训报告网站开发的原理
  • 黑龙江网站备案邢台招聘信息最新招聘2023
  • 怎么做祝福的网站建设一个行业性的网站价格
  • 广东住房和城乡建设厅网站王芃建筑公司排名前100
  • 推广 高端网站设计四川住房和建设厅官网
  • 网站租用服务器多少钱宁波论坛天一楼市
  • 大型门户网站最担心的威胁是产品做网站推广
  • 网站建设公众象山县住房和城乡建设局网站
  • 企业营销网站建设步骤wordpress微博主题
  • f型网站如何用wordpress站群
  • 海口网站建设王道下拉棒西宁手机网站微站建设
  • 郑州 制造 网站郑州妇科医院排行榜前十名
  • 烟台有哪些网站建站推广公司大前端 wordpress
  • 网络营销的优势有哪些seo对网络推广的作用是什么?
  • 泰州做网站淘宝企业网站数据库
  • 国外创意网站设计欣赏最近一周热点回顾