2020-10-16 架構(gòu)師第17周作業(yè)

架構(gòu)班的小伙伴作業(yè)看這里哦:(學(xué)習(xí)杰哥視頻的作業(yè)第33-34天)

1族吻、創(chuàng)建jdk和tomcat鏡像梧乘,使用?nginx?+?tomcat?+?NFS?實(shí)現(xiàn)web請求的動靜分離

一晚唇、 基于基礎(chǔ)的linux系統(tǒng)(centos/ubuntu/alpine)鏡像贞言,制作Nginx基礎(chǔ)鏡像

1.1 Centos基礎(chǔ)鏡像制作

# tree /opt/k8s-data/dockerfile/system/centos

├── build-command.sh

├── Dockerfile

└── filebeat-6.8.1-x86_64.rpm

1.2 Dockerfile文件內(nèi)容

FROM harbor.magedu.net/baseimages/centos:7.6.1810

ADD filebeat-6.8.1-x86_64.rpm /tmp/

RUN yum install -y epel-release /tmp/filebeat-6.5.4-x86_64.rpm && rm -rf /tmp/filebeat-6.5.4-x86_64.rpm

RUN yum install -y vim wget tree pcre pcre-devel gcc gcc-c++ zlib zlib-devel openssl openssl-devel net-tools iotop unzip zip iproute ntpdate nfs-utils tcp dump telnet traceroute

RUN rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

1.3 build-command腳本

#!/bin/bash docker build -t harbor.magedu.net/baseimages/centos-base:v7.6 .?

sleep1

docker push harbor.magedu.net/baseimages/centos-base:v7.6

1.4 執(zhí)行構(gòu)建centos 基礎(chǔ)鏡像

# bash build-command.sh


2.1 Nginx 基礎(chǔ)鏡像制作

# tree /opt/k8s-data/dockerfile/pub-images/nginx-base

├── build-command.sh

├── Dockerfile

└── nginx-1.14.2.tar.gz

2.2 Dockerfile文件內(nèi)容

#Nginx Base Image

FROM harbor.magedu.net/baseimages/centos-base:v7.6

RUN yum install -y vim wget tree lrzsz gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop

ADD nginx-1.14.2.tar.gz /usr/local/src/

RUN cd /usr/local/src/nginx-1.14.2 && ./configure && make && make install && ln -sv /usr/local/nginx/sbin/nginx /usr/sbin/nginx && useradd nginx -u 2001

2.3 build-command腳本

#!/bin/bash docker build -t harbor.magedu.net/pub-images/nginx-base:v1.14.2 .

sleep 1

docker push harbor.magedu.net/pub-images/nginx-base:v1.14.2

2.4 執(zhí)行構(gòu)建Nginx基礎(chǔ)鏡像

# bash build-command.sh


二贯溅、基于基礎(chǔ)的linux系統(tǒng)(centos/ubuntu/alpine)鏡像冠胯,制作JDK基礎(chǔ)鏡像火诸、Tomcat鏡像

1.1 JDK基礎(chǔ)鏡像制作

# tree /opt/k8s-data/dockerfile/pub-images/jdk-1.8.212

├── build-command.sh

├── Dockerfile

├── jdk-8u212-linux-x64.tar.gz

└── profile

1.2 Dockerfile文件內(nèi)容

#JDK Base Image

FROM harbor.magedu.net/baseimages/centos-base:v7.6

ADD jdk-8u212-linux-x64.tar.gz /usr/local/src/

RUN ln -sv /usr/local/src/jdk1.8.0_212 /usr/local/jdk && groupadd tomcat -g 2018 && useradd tomcat -u 2018 -g 2018

ADD profile /etc/profile

ENV JAVA_HOME /usr/local/jdk

ENV JRE_HOME $JAVA_HOME/jre

ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/

ENV PATH $PATH:$JAVA_HOME/bin

1.3 build-command腳本

#!/bin/bash docker build -t harbor.magedu.net/pub-images/jdk-base:v8.212 .

sleep 1

docker push harbor.magedu.net/pub-images/jdk-base:v8.212

1.4 執(zhí)行構(gòu)建JDK基礎(chǔ)鏡像

# bash build-command.sh

2.1 tomcat基礎(chǔ)鏡像制作

# tree /opt/k8s-data/dockerfile/pub-images/tomcat-base

├── apache-tomcat-8.5.43.tar.gz

├── build-command.sh

└── Dockerfile

2.2 Dockerfile文件內(nèi)容

#JDK Base Image

FROM harbor.magedu.net/pub-images/jdk-base:v8.212

RUN mkdir /apps /data/tomcat/webapps /data/tomcat/logs -pv

ADD apache-tomcat-8.5.43.tar.gz /apps

RUN ln -sv /apps/apache-tomcat-8.5.43 /apps/tomcat && chown -R tomcat.tomcat /apps /data -R

#ADD filebeat-6.4.2-x86_64.rpm /tmp/

#RUN yum install -y /tmp/filebeat-6.4.2-x86_64.rpm && rm -rf /tmp/filebeat-6.4.2- x86_64.rpm

2.3 build-command腳本

#!/bin/bash docker build -t harbor.magedu.net/pub-images/tomcat-base:v8.5.43 .

sleep 1

docker push harbor.magedu.net/pub-images/tomcat-base:v8.5.43

2.4 構(gòu)建tomcat基礎(chǔ)鏡像

# bash build-command.sh

3.1 tomcat業(yè)務(wù)鏡像app1制作

# tree /opt/k8s-data/dockerfile/linux36/tomcat-app1

├── app1.tar.gz

├── build-command.sh

├── catalina.sh

├── Dockerfile

├── filebeat.yml

├── myapp

│? └── index.html

├── run_tomcat.sh

└── server.xml

3.2 Dockerfile文件內(nèi)容

#tomcat web1

FROM harbor.magedu.net/pub-images/tomcat-base:v8.5.43

ADD catalina.sh /apps/tomcat/bin/catalina.sh

ADD server.xml /apps/tomcat/conf/server.xml

#ADD myapp/* /data/tomcat/webapps/myapp/

ADD app1.tar.gz /data/tomcat/webapps/myapp/

ADD run_tomcat.sh /apps/tomcat/bin/run_tomcat.sh

#ADD filebeat.yml /etc/filebeat/filebeat.yml

RUN chown -R tomcat.tomcat /data/ /apps/

EXPOSE 8080 8443

CMD ["/apps/tomcat/bin/run_tomcat.sh"]

3.3 build-command腳本

#!/bin/bash TAG=$1

docker build -t harbor.magedu.net/linux36/tomcat-app1:${TAG} .

sleep 3

docker push harbor.magedu.net/linux36/tomcat-app1:${TAG}

3.4 執(zhí)行構(gòu)建tomcat業(yè)務(wù)鏡像

# bash build-command.sh


三、k8s中nginx+tomcat實(shí)現(xiàn)動靜分離

? ? ? ?實(shí)現(xiàn)一個(gè)通用的nginx+tomcat動靜分離web架構(gòu)荠察,即用戶訪問的靜態(tài)頁面和圖片在由nginx直接響應(yīng)置蜀,而動態(tài)請求則基于location轉(zhuǎn)發(fā)至tomcat。重點(diǎn):Nginx基于tomcat的service name轉(zhuǎn)發(fā)用戶請求到tomcat業(yè)務(wù)app

1.1 Nginx業(yè)務(wù)鏡像制作

# tree /opt/k8s-data/dockerfile/linux36/nginx

├── build-command.sh

├── Dockerfile

├── index.html

├── nginx.conf

└── webapp

└── index.html

1.2 Dockerfile文件內(nèi)容

#Nginx Base Image

FROM harbor.magedu.net/pub-images/nginx-base:v1.14.2

ADD nginx.conf /usr/local/nginx/conf/nginx.conf

ADD webapp/* /usr/local/nginx/html/webapp/

ADD index.html /usr/local/nginx/html/index.html

#RUN mkdir /usr/local/nginx/html/webapp/about /usr/local/nginx/html/webapp/images EXPOSE 80 443

CMD ["nginx"]

1.3 build-command腳本

#!/bin/bash docker build -t harbor.magedu.net/linux36/nginx-web1:v1 .

sleep 1

docker push harbor.magedu.net/linux36/nginx-web1:v1

1.4 nginx配置文件

upstream tomcat_webserver {

? ? server linux36-tomcat-app1-service.linux36.svc.linux36.local:80;

}

server {

? ? location /myapp{

? ? ? ? proxy_pass http://tomcat_webserver;

? ? ? ? proxy_set_header Host $host;

? ? ? ? proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

? ? ? ? proxy_set_header X-Real-IP $remote_addr;

? ? }

}

1.5 執(zhí)行構(gòu)建Nginx 業(yè)務(wù)鏡像

# bash build-command.sh


2.1?NFS 服務(wù)器環(huán)境準(zhǔn)備

# mkdir /data/linux36/images #圖片目錄

# mkdir /data/linux36/static #靜態(tài)文件目錄

# vim /etc/exports

/data/linux36 *(rw,no_root_squash)

# systemctl restart nfs-server

2.2 NFS客戶端掛載并測試寫入文件

# mount -t nfs 192.168.7.108:/data/linux36 /mnt

# cp /etc/passwd /mnt/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #必須能夠?qū)懭霐?shù)據(jù)

3 nginx 業(yè)務(wù)容器yaml

/opt/k8s-data/yaml/linux36/tomcat-app1/tomcat-app1.yaml

kind: Deployment

apiVersion: extensions/v1beta1

metadata:

? ? labels:

? ? ? ? app: linux36-tomcat-app1-deployment-label

? ? name: linux36-tomcat-app1-deployment

? ? namespace: linux36

spec:

? ? replicas: 1

? ? selector:

? ? ? ? matchLabels:

? ? ? ? ? ? app: linux36-tomcat-app1-selector

? ? template:

? ? ? ? metadata:

? ? ? ? labels:

? ? ? ? ? ? app: linux36-tomcat-app1-selector

? ? spec:

? ? ? ? containers:

? ? ? ? - name: linux36-tomcat-app1-container

? ? ? ? ? ? image: harbor.magedu.net/linux36/tomcat-app1:2019-08-02_11_02_30

? ? ? ? ? ? #command: ["/apps/tomcat/bin/run_tomcat.sh"]

? ? ? ? ? ? #imagePullPolicy: IfNotPresent

? ? ? ? ? ? imagePullPolicy: Always

? ? ? ? ? ? ports:

? ? ? ? ? ? - containerPort: 8080

? ? ? ? ? ? ? ? protocol: TCP

? ? ? ? ? ? ? ? name: http

? ? ? ? volumeMounts:

? ? ? ? ? ? - name: linux36-images

? ? ? ? ? ? ? ? mountPath: /data/tomcat/webapps/myapp/images

? ? ? ? ? ? ? ? readOnly: false

? ? ? ? ? ? - name: linux36-static

? ? ? ? ? ? ? ? mountPath: /data/tomcat/webapps/myapp/static

? ? ? ? ? ? ? ? readOnly: false

? ? ? ? ? ? ? ? volumes:

? ? ? ? ? ? - name: linux36-images

? ? ? ? ? ? ? ? nfs:server: 192.168.7.108

? ? ? ? ? ? ? ? path: /data/linux36/images

? ? ? ? ? ? - name: linux36-static

? ? ? ? ? ? ? ? nfs:

? ? ? ? ? ? ? ? ? ? server: 192.168.7.108

? ? ? ? ? ? ? ? ? ? path: /data/linux36/static

---

kind: Service

apiVersion: v1

metadata:

? ? labels:

? ? ? ? app: linux36-tomcat-app1-service-label

? ? name: linux36-tomcat-app1-service

? ? namespace: linux36

spec:

? ? type: NodePort

? ? ? ? ports:

? ? ? ? ? ? - name: http

? ? ? ? ? ? ? ? port: 80

? ? ? ? ? ? ? ? protocol: TCP

? ? ? ? ? ? ? ? targetPort: 8080

? ? ? ? ? ? ? ? nodePort: 30003

? ? ? ? ? ? ? ? selector:

? ? ? ? ? ? ? ? app: linux36-tomcat-app1-selector

4 創(chuàng)建Nginx pod

# kubectl apply -f nginx.yaml

5 pod中驗(yàn)證NFS掛載

# kubectl get pods -n linux36

6 tomcat業(yè)務(wù)pod更新掛載

/opt/k8s-data/yaml/linux36/tomcat-app1/tomcat-app1.yaml

kind: Deployment

apiVersion: extensions/v1beta1

metadata:

? ? labels:

? ? ? ? app: linux36-tomcat-app1-deployment-label

? ? name: linux36-tomcat-app1-deployment

? ? namespace: linux36

spec:

? ? replicas: 1

? ? selector:

? ? ? ? matchLabels:

? ? ? ? ? ? app: linux36-tomcat-app1-selector

? ? template:

? ? ? ? metadata:

? ? ? ? labels:

? ? ? ? ? ? app: linux36-tomcat-app1-selector

? ? spec:

? ? ? ? containers:

? ? ? ? - name: linux36-tomcat-app1-container

? ? ? ? ? ? image: harbor.magedu.net/linux36/tomcat-app1:2019-08-02_11_02_30

? ? ? ? ? ? #command: ["/apps/tomcat/bin/run_tomcat.sh"]

? ? ? ? ? ? #imagePullPolicy: IfNotPresent

? ? ? ? ? ? imagePullPolicy: Always

? ? ? ? ? ? ports:

? ? ? ? ? ? - containerPort: 8080

? ? ? ? ? ? ? ? protocol: TCP

? ? ? ? ? ? ? ? name: http

? ? ? ? volumeMounts:

? ? ? ? ? ? - name: linux36-images

? ? ? ? ? ? ? ? mountPath: /data/tomcat/webapps/myapp/images

? ? ? ? ? ? ? ? readOnly: false

? ? ? ? ? ? - name: linux36-static

? ? ? ? ? ? ? ? mountPath: /data/tomcat/webapps/myapp/static

? ? ? ? ? ? ? ? readOnly: false

? ? ? ? ? ? ? ? volumes:

? ? ? ? ? ? - name: linux36-images

? ? ? ? ? ? ? ? nfs:server: 192.168.7.108

? ? ? ? ? ? ? ? path: /data/linux36/images

? ? ? ? ? ? - name: linux36-static

? ? ? ? ? ? ? ? nfs:

? ? ? ? ? ? ? ? ? ? server: 192.168.7.108

? ? ? ? ? ? ? ? ? ? path: /data/linux36/static

---

kind: Service

apiVersion: v1

metadata:

? ? labels:

? ? ? ? app: linux36-tomcat-app1-service-label

? ? name: linux36-tomcat-app1-service

? ? namespace: linux36

spec:

? ? type: NodePort

? ? ? ? ports:

? ? ? ? ? ? - name: http

? ? ? ? ? ? ? ? port: 80

? ? ? ? ? ? ? ? protocol: TCP

? ? ? ? ? ? ? ? targetPort: 8080

? ? ? ? ? ? ? ? nodePort: 30003

? ? ? ? ? ? ? ? selector:

? ? ? ? ? ? ? ? app: linux36-tomcat-app1-selector

7 執(zhí)行更新tomcat app1業(yè)務(wù)容器yaml

# kubectl apply -f tomcat- app1.yaml


四悉盆、訪問web測試

1 上傳數(shù)據(jù)到NFS

# tree /data/linux36

├── images

│? └── 1.jpg

└── static

└── index.html

2 訪問nginx 業(yè)務(wù)pod

http://192.168.7.108/myaopp/1.jpg

3 訪問tomcat業(yè)務(wù)pod

http://192.168.7.108:port/webapp/images/1.jpg


參考資料鏈接:http://www.reibang.com/p/b5d11e88deaa



2盯荤、實(shí)現(xiàn)k8s一個(gè)pod多個(gè)容器實(shí)現(xiàn)LNMP的wordpress服務(wù)

? ? ? ?LNMP案例之基于Nginx+PHP實(shí)現(xiàn)WordPress博客站點(diǎn),要求Nginx+PHP運(yùn)行在同一個(gè)Pod的不同容器焕盟,MySQL 運(yùn)行與default的namespace并可以通過service name增刪改查數(shù)據(jù)庫秋秤。

PHP代碼通過NFS共享掛載到每個(gè)容器的的代碼目錄中

https://cn.wordpress.org/

https://cn.wordpress.org/download/releases/

wordpress-5.0.2-zh_CN.tar.gz

1:準(zhǔn)備PHP鏡像:

1.1:官方PHP鏡像:

https://hub.docker.com/

1.2:自制PHP鏡像:

# docker pull php:5.6.40-fpm

# docker tag php:5.6.40-fpm harbor.magedu.net/linux36/php:5.6.40-fpm

# docker push harbor.magedu.net/linux36/php:5.6.40-fpm

# pwd

/opt/k8s-data/dockerfile/linux36/wordpress/php

# tree

.

├── build-command.sh

├── Dockerfile

├── run_php.sh

└── www.conf

0 directories, 4 files

# bash build-command.sh v1


2:準(zhǔn)備Nginx鏡像:

# pwd

/opt/k8s-data/dockerfile/linux36/wordpress/nginx

# tree

.

├── build-command.sh

├── Dockerfile

├── index.html

├── nginx.conf

└── run_nginx.sh

0 directories, 5 files

# bash build-command.sh v1


3:運(yùn)行WordPress站點(diǎn):

使用官方PHP鏡像運(yùn)行PHP環(huán)境,WordPress頁面文件保存在后端存儲NFS服務(wù)器脚翘。

3.1:運(yùn)行WordPress:

# pwd

/opt/k8s-data/yaml/linux36/wordpress

# kubectl apply -f .

deployment.extensions/wordpress-app-deployment created

service/wordpress-app-spec created

3.2:創(chuàng)建PHP測試頁:

準(zhǔn)備WordPress頁面文件并更改權(quán)限為指定用戶

# pwd

/data/k8sdata/linux36/wordpress

# cat test.php

<?php

phpinfo();

?>

linux36# chown 2001.2001 wordpress/ -R

3.3:訪問PHP測試頁:


4:初始化WordPress站點(diǎn):

使用k8s中運(yùn)行的mysql服務(wù)航缀,作為mysql服務(wù)器

4.1:k8s中MySQL創(chuàng)建數(shù)據(jù)庫:

# kubectl exec -it mysql-0 sh -n linux36

.....

mysql> CREATE DATABASE wordpress;

Query OK, 1 row affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "wordpress"@"%" IDENTIFIED BY

"wordpress";

Query OK, 0 rows affected, 1 warning (0.01 sec)

4.2:k8s中測試MySQL連接:

# mysql -uwordpress -hmysql-0.mysql -pwordpress

4.3:通過web界面初始化數(shù)據(jù)庫:


4.4:WordPress數(shù)據(jù)庫連接配置:

~ wordpress# cp wp-config-sample.php wp-config.php

# cat wp-config.php

<?php

/**

* WordPress基礎(chǔ)配置文件。

*

* 這個(gè)文件被安裝程序用于自動生成wp-config.php配置文件堰怨,

* 您可以不使用網(wǎng)站芥玉,您需要手動復(fù)制這個(gè)文件,

* 并重命名為“wp-config.php”备图,然后填入相關(guān)信息灿巧。

*

* 本文件包含以下配置選項(xiàng):

*

* * MySQL設(shè)置

* * 密鑰

* * 數(shù)據(jù)庫表名前綴

* * ABSPATH

*

* @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php

*

* @package WordPress

*/

// ** MySQL 設(shè)置 - 具體信息來自您正在使用的主機(jī) ** //

/** WordPress數(shù)據(jù)庫的名稱 */

define('DB_NAME', 'wordpress');

/** MySQL數(shù)據(jù)庫用戶名 */

define('DB_USER', 'wordpress');

/** MySQL數(shù)據(jù)庫密碼 */

define('DB_PASSWORD', 'wordpress');

/** MySQL主機(jī) */

define('DB_HOST', 'mysql-0.mysql');

/** 創(chuàng)建數(shù)據(jù)表時(shí)默認(rèn)的文字編碼 */

define('DB_CHARSET', 'utf8');

/** 數(shù)據(jù)庫整理類型。如不確定請勿更改 */

define('DB_COLLATE', '');

/**#@+

* 身份認(rèn)證密鑰與鹽揽涮。

.............................


5:驗(yàn)證k8s中mysql 數(shù)據(jù):

分別驗(yàn)證k8s中MySQL主庫和從庫是否數(shù)據(jù)

5.1:master數(shù)據(jù):

5.2:slave數(shù)據(jù)庫:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抠藕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蒋困,更是在濱河造成了極大的恐慌盾似,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雪标,死亡現(xiàn)場離奇詭異零院,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)村刨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門告抄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嵌牺,你說我怎么就攤上這事打洼×浜” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵募疮,是天一觀的道長炫惩。 經(jīng)常有香客問我,道長阿浓,這世上最難降的妖魔是什么他嚷? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮搔扁,結(jié)果婚禮上爸舒,老公的妹妹穿的比我還像新娘。我一直安慰自己稿蹲,他們只是感情好扭勉,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苛聘,像睡著了一般涂炎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上设哗,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天唱捣,我揣著相機(jī)與錄音,去河邊找鬼网梢。 笑死震缭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的战虏。 我是一名探鬼主播拣宰,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼烦感!你這毒婦竟也來了巡社?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤手趣,失蹤者是張志新(化名)和其女友劉穎晌该,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绿渣,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朝群,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了怯晕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片潜圃。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖舟茶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤吧凉,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布隧出,位于F島的核電站,受9級特大地震影響阀捅,放射性物質(zhì)發(fā)生泄漏胀瞪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一饲鄙、第九天 我趴在偏房一處隱蔽的房頂上張望凄诞。 院中可真熱鬧,春花似錦忍级、人聲如沸帆谍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汛蝙。三九已至,卻和暖如春朴肺,著一層夾襖步出監(jiān)牢的瞬間窖剑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工戈稿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留西土,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓鞍盗,卻偏偏與公主長得像需了,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子橡疼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345