乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      快速安裝與配置kubernetes集群搭

       印度阿三17 2019-06-25

      Kubernetes是什么?

      首先,它是一個全新的基于容器技術(shù)的分布式架構(gòu)領(lǐng)先方案。這個方案盡然很新,但它是谷歌十幾年以來大規(guī)模應(yīng)用容器技術(shù)的經(jīng)驗(yàn)積累和升華的一個重要成果。確切地說,kubernetes是谷歌嚴(yán)格保密十幾年的秘密武器Borg的一個開源版本。Borg是谷歌的一個久負(fù)盛名的內(nèi)部使用的大規(guī)模集群管理系統(tǒng),它基于容器技術(shù),目的是實(shí)現(xiàn)資源管理的自動化,以及跨多個數(shù)據(jù)中心的資源利用率的最大化。

      2015年4月,傳聞許久的Borg論文伴隨kubernetes(K8S)的高調(diào)宣傳被谷歌首次公開,大家才得以了解它的更多內(nèi)幕。正是由于站在Borg這個前輩的肩膀上,吸取了Borg過去十年間的經(jīng)驗(yàn)與教訓(xùn),所以kubernetes一經(jīng)開源就一鳴驚人,并迅速稱霸了容器技術(shù)領(lǐng)域。

      如果我們的系統(tǒng)設(shè)計(jì)遵循了kubernetes的設(shè)計(jì)思想,那么傳統(tǒng)系統(tǒng)架構(gòu)中哪些和業(yè)務(wù)沒有多大關(guān)系的底層代碼或功能模塊,都可以立刻從我們的視線中消失,我們不必再費(fèi)心于負(fù)載均衡的選型和部署實(shí)施問題,不必再考慮引入或自己開發(fā)一個復(fù)雜的服務(wù)治理框架,不必再頭疼與服務(wù)監(jiān)控和故障處理模塊的開發(fā)??傊褂胟ubernetes提供的解決方案,我們節(jié)約了不少于30%的開發(fā)成本,同時可以將精力更加集中于業(yè)務(wù)本身,而且由于kubernetes提供了強(qiáng)大的自動化機(jī)制,所以系統(tǒng)后期的運(yùn)維難度和運(yùn)維成本大幅降低。

      Kubernetes概述

      隨著 Docker 技術(shù)的發(fā)展和廣泛流行,云原生應(yīng)用和容器調(diào)度管理系統(tǒng)也成為 IT 領(lǐng)域大熱的詞匯。事實(shí)上,在 Docker 技術(shù)火爆之前,云原生應(yīng)用的思想已經(jīng)由云計(jì)算技術(shù)的領(lǐng)導(dǎo)者和分布式系統(tǒng)架構(gòu)的推廣者廣泛傳播。例如早在 2011 年 Heroku 的工程師提出了云原生應(yīng)用的 12 要素,只不過以虛擬機(jī)技術(shù)作為云原生應(yīng)用的基礎(chǔ)實(shí)施。由于虛擬機(jī)鏡像大、鏡像標(biāo)準(zhǔn)不統(tǒng)一以及打包流程和工具不統(tǒng)一,導(dǎo)致了業(yè)界無法廣泛接受的云原生應(yīng)用標(biāo)準(zhǔn),限制了云原生應(yīng)用的流行。而 Docker 的出現(xiàn)正好解決了這些限制云原生應(yīng)用構(gòu)建、交付和運(yùn)行的瓶頸,使得構(gòu)建云原生應(yīng)用成為了使用 Docker 的開發(fā)者自然而然的選擇。

      Kubernetes 是為生產(chǎn)環(huán)境而設(shè)計(jì)的容器調(diào)度管理系統(tǒng),對于負(fù)載均衡、服務(wù)發(fā)現(xiàn)、高可用、滾動升級、自動伸縮等容器云平臺的功能要求有原生支持。由于 Kubernetes 在K和s間有8個字母,因此常簡稱 k8s。事實(shí)上,隨著對 k8s 系統(tǒng)架構(gòu)與設(shè)計(jì)理念的了解深入,會發(fā)現(xiàn) K8s 系統(tǒng)正是處處為運(yùn)行云原生應(yīng)用而設(shè)計(jì)考慮;同時,隨著對 k8s 系統(tǒng)使用的加深和推廣,也會有越來越多有關(guān)云原生應(yīng)用的設(shè)計(jì)模式產(chǎn)生出來,使得基于 k8s 系統(tǒng)設(shè)計(jì)和開發(fā)生產(chǎn)級的復(fù)雜云原生應(yīng)用變得像啟動一個單機(jī)版容器服務(wù)那樣簡單易用。

      為什么要用 Kubernetes

      使用 Kubernetes 的理由有很多,最基本的一個理由就是:IT 是新技術(shù)驅(qū)動行業(yè)。Docker 這個新興的容器化技術(shù)當(dāng)前已經(jīng)被很多公司所采用,其從單機(jī)走向集群已成必然,而云計(jì)算的蓬勃發(fā)展正在加速這一進(jìn)程。Kubernetes 作為當(dāng)前唯一被業(yè)界廣泛認(rèn)可和看好的 Docker 分布式系統(tǒng)解決方案??梢灶A(yù)見,在未來幾年內(nèi),會有大量的新系統(tǒng)選擇它,不管是運(yùn)行在企業(yè)本地服務(wù)器上還是被托管到公有云上。

      使用 Kubernetes 又會收獲哪些好處呢?

      首先,使用 Kubernetes 就是在全面擁抱微服務(wù)架構(gòu)。微服務(wù)架構(gòu)的核心就是將一個巨大的單體應(yīng)用分解為很多小的互相連接的微服務(wù),一個微服務(wù)背后可能有多個實(shí)例副本在支撐,副本的數(shù)量可能會隨著系統(tǒng)的負(fù)荷變化而進(jìn)行調(diào)整,內(nèi)嵌的負(fù)載均衡器在 k8s 平臺中有多個實(shí)例副本在支撐,副本的數(shù)量可能會隨著系統(tǒng)的負(fù)荷變化而進(jìn)行調(diào)整,內(nèi)嵌的負(fù)載均衡器 k8s 平臺中發(fā)揮了重要的作用。微服務(wù)架構(gòu)使得每個服務(wù)都可以由專門的開發(fā)團(tuán)隊(duì)來開發(fā),開發(fā)者可以自由選擇開發(fā)技術(shù),這對于大規(guī)模團(tuán)隊(duì)來說很有價值。另外,每個微服務(wù)獨(dú)立開發(fā)、升級、擴(kuò)展,使得系統(tǒng)具備很高的穩(wěn)定性和快速迭代進(jìn)化能力。

      其次,Kubernetes 系統(tǒng)架構(gòu)具備了超強(qiáng)的橫向擴(kuò)容能力。對于互聯(lián)網(wǎng)公司來說,用戶規(guī)模就等價于資產(chǎn),誰擁有更多的用戶,誰就能在競爭中勝出,因此超強(qiáng)的橫向擴(kuò)容能力是互聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)的關(guān)鍵指標(biāo)之一。不用修改代碼,一個 Kubernetes 集群即可從只包含幾個Node 的小集群平滑擴(kuò)展到擁有成百上千 Noder 大規(guī)模集群,利用 Kubernetes 提供的工具,甚至可以在線完成集群的擴(kuò)容。只要微服務(wù)設(shè)計(jì)的得好,結(jié)合硬件或者公有云資源的線性增加,系統(tǒng)就能夠承受大量用戶并發(fā)訪問所帶來的壓力。

      Kubernetes 基本概念和術(shù)語

      Kubernetes中的大部分概念如Node、Pod、Replication Controller、Server、Deploymeng、Job、DaemonSet 等都可以看作一種資源對象,幾乎所有的資源對象都可以通過 Kubernetes提供的 kubectl 工具執(zhí)行增、刪、改、查等操作,并將其保存在 etcd 中持久化存儲。從這個角度來看,Kubernets 其實(shí)是一個高度自動化的資源控制系統(tǒng),它通過跟蹤對比 etcd 存儲里保存的資源期望狀態(tài)與當(dāng)前環(huán)境中的實(shí)際資源狀態(tài)的差異來實(shí)現(xiàn)自動控制和自動糾錯的高級功能。

      Master

      Kubernetes 里的 Master 指的是集群控制節(jié)點(diǎn),每個 Kubernetes 集群里需要有一個Master 節(jié)點(diǎn)來負(fù)責(zé)整個集群的管理的控制,基本上 Kubernetes 所有的控制命令進(jìn)是發(fā)給Master,Master 負(fù)責(zé)具體的執(zhí)行過程,后面所有執(zhí)行的命令基本都是在 Master 節(jié)點(diǎn)上運(yùn)行的。Master 節(jié)點(diǎn)通常會占據(jù)一個獨(dú)立的 X86 服務(wù)器,一個主要的原因是它太重要了,它是整個集群的大腦,如果它宕機(jī)或者不可用,那么所有的控制命令都將失效。
        
      Master 節(jié)點(diǎn)上運(yùn)行著以下一組關(guān)鍵進(jìn)程:

      Kube-apiserver:提供了 HTTP Rest 接口的關(guān)鍵服務(wù)進(jìn)程,是 Kubernetes 里所有資源的增、刪、改、查等操作的唯一入口,也是集群控制入口進(jìn)程。
      Kube-controller-manager:是 Kubernetes 里所有資源對象的自動化控制中心,可以理解為資源對象的管家。
      Kube-scheduler:負(fù)責(zé)資源調(diào)度的進(jìn)程,相當(dāng)于公交公司的調(diào)度室。
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      其實(shí) Master 節(jié)點(diǎn)上往往還啟動了一個 etcd server 進(jìn)程,因?yàn)?Kubernetes 里的所有資源對象的數(shù)據(jù)全部是保存在 etcd 中的。

      Node

      除了 Master、Kubernetes 集群中的其他機(jī)器被稱為 Node 節(jié)點(diǎn),在較早的版本中也被稱為 Minion。與 Master 一樣,Node 節(jié)點(diǎn)可以是一臺物理主機(jī),也可以是一臺虛擬機(jī)。Node節(jié)點(diǎn)才是 Kubernetes 集群中的工作負(fù)載節(jié)點(diǎn),每個 Node 都會被 Master 分配一些負(fù)載。當(dāng)某個 Node 宕機(jī)時,其上的工作負(fù)載會被 Master 自動轉(zhuǎn)移到其他節(jié)點(diǎn)上去。

      每個 Node 節(jié)點(diǎn)都運(yùn)行著以下一組關(guān)鍵進(jìn)程:

      Kubelet:負(fù)責(zé) Pod 對應(yīng)的容器的創(chuàng)建、啟停等任務(wù),同時與 Master 節(jié)點(diǎn)密切協(xié)作,實(shí)現(xiàn)集群管理的基本功能。
      Kube-proxy:實(shí)現(xiàn) Kubernetes Service 的通信與負(fù)載均衡機(jī)制的重要組件。
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      Pod:是kubernetes最重要也是最基本的概念。每個Pod都會包含一個 “根容器”,還會包含一個或者多個緊密相連的業(yè)務(wù)容器。

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      Kubernetes為每個Pod都分配了唯一的IP地址,稱之為PodIP,一個Pod里的多個容器共享PodIP地址。要求底層網(wǎng)絡(luò)支持集群內(nèi)任意兩個Pod之間的直接通信,通常采用虛擬二層網(wǎng)絡(luò)技術(shù)來實(shí)現(xiàn)(Flannel)。

      k8s集群部署方案

      如下是我的集群部署策略,1個master 2個node(minion1.2之前的叫法)。我的存儲集群etcd是單點(diǎn)集群,不推薦此做法。網(wǎng)絡(luò)使用的是flannel虛擬二次網(wǎng)絡(luò)。

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      Kubernetes具有完備的集群管理能力:

          包括多層次的安全防護(hù)和準(zhǔn)入機(jī)制
          多租戶應(yīng)用支撐能力
          透明的服務(wù)注冊和服務(wù)發(fā)現(xiàn)機(jī)制
          內(nèi)建智能負(fù)載均衡器
          強(qiáng)大的故障發(fā)現(xiàn)和自我修復(fù)能力
          服務(wù)滾動升級和在線擴(kuò)容能力
          可擴(kuò)展的資源自動調(diào)度機(jī)制
          以及多粒度的資源管理能力
      

      同時,kubernetes提供了完善的管理工具,這些工具涵蓋了包括開發(fā)、部署測試、運(yùn)維監(jiān)控在內(nèi)的各個環(huán)節(jié)。

      在kubernetes中,service(服務(wù))是分布式集群架構(gòu)的核心,一個service對象擁有如下關(guān)鍵特征:

          擁有一個唯一指定的名字(比如mysql-service)。
          擁有一個虛擬IP(Cluster IP、service IP或VIP)和端口號。
          能夠提供某種遠(yuǎn)程服務(wù)能力。
          被映射到了提供這種服務(wù)能力的一組容器應(yīng)用上。
      

      Kubernetes.io開發(fā)了一個交互式教程,通過WEB瀏覽器就能使用預(yù)先部署好的一個Kubernetes集群,快速體驗(yàn)kubernetes的功能和應(yīng)用場景。

      鏈接:https:///docs/tutorials/kubernetes-basics/

      K8s官方下載地址:https://github.com/kubernetes

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      環(huán)境準(zhǔn)備工作
      主機(jī)名 	   操作系統(tǒng) 	             IP地址
      master 	Centos 7.4-x86_64 	192.168.2.102
      node1 	Centos 7.4-x86_64 	192.168.2.108
      node2 	Centos 7.4-x86_64 	192.168.2.228
      
      關(guān)閉CentOS7自帶的防火墻服務(wù)
      systemctl disable firewalld
      systemctl stop firewalld
      
      修改主機(jī)名
      [root@localhost ~]# hostnamectl  master //192.168.2.102
      [root@localhost ~]# hostnamectl  node1 //192.168.2.108
      [root@localhost ~]# hostnamectl  node2 //192.168.2.228
      

      更改Hostname為 master、node1、node2,配置IP地址,配置3臺測試機(jī)的/etc/hosts文件(在三臺服務(wù)器上同步)

      [root@master ~]# cat /etc/hosts
      127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
      ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
      192.168.2.102 master
      192.168.2.108 node1
      192.168.2.228 node2
      [root@master ~]#
       
      時間校對(三臺機(jī)器都做時間校對)
      [root@master ~]# ntpdate ntp1.aliyun.com
      13 Sep 14:48:02 ntpdate[1596]: adjust time server 120.25.115.20 offset -0.015854 sec
       
      [root@master ~]# hwclock
      2018年09月13日 星期四 14時49分51秒  -0.646898 秒
       
      安裝Kubernetes,配置dockers鏡像
      [root@master ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
       

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      配置kubernetes倉庫
      [root@master yum.repos.d]# vim kubernetes.repo
      [kubernetes]
      name=kubernetes Repo
      baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
      gpgcheck=1
      gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
      enabled=1
       

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@master ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
      [root@master ~]# rpm --import rpm-package-key.gpg
      [root@master yum.repos.d]# yum repolist
       

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@master yum.repos.d]# scp CentOS-Base.repo docker-ce.repo kubernetes.repo node1:/etc/yum.repos.d/
       

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      安裝docker和kubelet
      [root@master ~]# yum -y install docker-ce kubelet kubeadm kubectl
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      環(huán)境變量
      [root@master ~]# vim /usr/lib/systemd/system/docker.service
      手動添加一行
      Environment="HTTPS_PROXY=http://www.:10080"
      Environment="NO_PROXY=127.0.0.0/8,172.0.0.0/16"
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@master ~]# systemctl daemon-reload
       
      啟動docker
      [root@master ~]# systemctl start docker
       
      設(shè)置開機(jī)啟動
      [root@master ~]# systemctl enable docker
      [root@master ~]# docker info
       
      保證輸出的都是1
      [root@master ~]# cat /proc/sys/net/bridge/bridge-nf-call-ip6tables
      1
      [root@master ~]# cat /proc/sys/net/bridge/bridge-nf-call-iptables
      1
       
      [root@master ~]# rpm -ql kubelet
      /etc/kubernetes/manifests  #清單目錄
      /etc/sysconfig/kubelet   #配置文件
      /etc/systemd/system/kubelet.service  
      /usr/bin/kubelet   #主程序
       
      設(shè)置開機(jī)啟動
      [root@master ~]# systemctl enable kubelet
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      初始化
      [root@master ~]# kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      報錯信息,解決辦法:

      [root@master ~]# vim /etc/sysconfig/kubelet
      KUBELET_EXTRA_ARGS="--fail-swap-on=false"
       
      [root@master ~]# kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      注意這一條命令需要保存好(添加集群使用)

      kubeadm join 192.168.2.102:6443 --token ns4kps.j8cuqwf78emp5a5b --discovery-token-ca-cert-hash sha256:b71b7e52c318959bab3f05f02f6fe51d6396d8c54ea6849ec7556927d1c6c88a
      
      [root@master ~]# docker image ls
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@master ~]# ss –ntl
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@master ~]# mkdir -p $HOME/.kube
      [root@master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      
      檢測組件運(yùn)行是否正常
      [root@master ~]# kubectl get cs
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      查看并驗(yàn)證節(jié)點(diǎn)信息是否成功
      [root@master ~]# kubectl get nodes
      NAME      STATUS     ROLES     AGE       VERSION
      master    NotReady   master    44m       v1.11.3
      
      安裝flannel
      [root@master ~]# kubectl apply -f https://raw./coreos/flannel/master/Documentation/kube-flannel.yml
      [root@master ~]# curl -sSL "https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml?raw=true" | kubectl create -f -
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@master ~]# docker image ls
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      查看并驗(yàn)證節(jié)點(diǎn)信息是否成功
      [root@master ~]# kubectl get  nodes
      NAME      STATUS    ROLES     AGE       VERSION
      master    Ready     master    2h        v1.11.3
      
      查看pod運(yùn)行情況
      [root@master ~]# kubectl get pods -n kube-system
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      配置文件傳到node1、node2
      [root@master ~]# scp /usr/lib/systemd/system/docker.service node1:/usr/lib/systemd/system/docker.service
      
      [root@master ~]# scp /etc/sysconfig/kubelet node1:/etc/sysconfig/
      
      [root@master ~]# scp /usr/lib/systemd/system/docker.service node2:/usr/lib/systemd/system/docker.service
      
      [root@master ~]# scp /etc/sysconfig/kubelet node2:/etc/sysconfig/
      
      node1服務(wù)器配置
      [root@node1 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@node1 ~]# rpm --import rpm-package-key.gpg
      
      安裝docker、kubelet
       
      [root@node1 ~]# yum -y install docker-ce kubelet kubeadm
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      啟動docker
      [root@node1 ~]# systemctl start docker
      [root@node1 ~]# systemctl enable docker kubelet
      
      [root@node1 ~]# docker info
      
      添加主集群里
      [root@node1 ~]# kubeadm join 192.168.2.102:6443 --token ns4kps.j8cuqwf78emp5a5b --discovery-token-ca-cert-hash sha256:b71b7e52c318959bab3f05f02f6fe51d6396d8c54ea6849ec7556927d1c6c88a --ignore-preflight-errors=Swap
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      查看下載鏡像
      [root@node1 ~]# docker image ls
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      在master服務(wù)器上可以查節(jié)點(diǎn)信息
      [root@master ~]# kubectl get nodes
      NAME      STATUS    ROLES     AGE       VERSION
      master    Ready     master    3h        v1.11.3
      node1     Ready         7m        v1.11.3
       
      [root@master ~]# kubectl get pods -n kube-system -o wide
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      node2服務(wù)器配置
      [root@node2 ~]# wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@node2 ~]# rpm --import rpm-package-key.gpg
       
      安裝docker、kubelet
      [root@node2 ~]#  yum -y install docker-ce kubelet kubeadm
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      啟動docker
      [root@node2 ~]# systemctl start docker
      [root@node2 ~]# systemctl enable docker kubelet
      [root@node2 ~]# docker info
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      添加主集群里
      [root@node2 ~]# kubeadm join 192.168.2.102:6443 --token ns4kps.j8cuqwf78emp5a5b --discovery-token-ca-cert-hash sha256:b71b7e52c318959bab3f05f02f6fe51d6396d8c54ea6849ec7556927d1c6c88a --ignore-preflight-errors=Swap
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      在master服務(wù)器上可以查節(jié)點(diǎn)信息
      [root@master ~]# kubectl get nodes
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      [root@master ~]# kubectl get pods -n kube-system -o wide
      

      快速安裝與配置kubernetes集群搭快速安裝與配置kubernetes集群搭

      來源:https://www./content-4-266551.html

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多