k8s實戰(zhàn)-wordpress博客搭建

k8s版本

[root@k8s-master ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:12:17Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}

一挂绰、yaml文件編寫

mysql-db.yaml

apiVersion: v1
kind: Service
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  ports:
    - port: 3306
  selector:
    app: wordpress
    tier: mysql
  clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
  labels:
    app: wordpress
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: wordpress
        tier: mysql
    spec:
      containers:
      - image: mysql:5.6
        name: mysql
        env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-pass
              key: password
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim
  • 創(chuàng)建數(shù)據(jù)庫密碼
kubectl create secret generic mysql-pass --from-literal='password=123456'
  • 創(chuàng)建足夠的PV
    pv.yaml
kind: PersistentVolume
apiVersion: v1
metadata:
  name: wordpress-mysql-pv-volume
  labels:
    type: local
spec:
  capacity:
    storage: 5Gi # 根據(jù)你創(chuàng)建的pvc大小設(shè)置
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/data/pv/wordpress"

執(zhí)行創(chuàng)建

kubectl apply -f pv.yaml
  • 創(chuàng)建數(shù)據(jù)庫pod
kubectl apply -f mysql-db.yaml

編寫wordpress.yaml

wordpress.yaml

apiVersion: v1
kind: Service
metadata:
  name: wordpress
  labels:
    app: wordpress
spec:
  ports:
    - port: 80
  selector:
    app: wordpress
    tier: frontend
  type: NodePort
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: wp-pv-claim
  labels:
    app: wordpress
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: wordpress
  labels:
    app: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: frontend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: wordpress
        tier: frontend
    spec:
      containers:
      - image: wordpress:4.8-apache
        name: wordpress
        env:
        - name: WORDPRESS_DB_HOST
          value: wordpress-mysql
        - name: WORDPRESS_DB_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-pass # 對應(yīng)創(chuàng)建的secretw
              key: password
        ports:
        - containerPort: 80
          name: wordpress
        volumeMounts:
        - name: wordpress-persistent-storage
          mountPath: /var/www/html
      volumes:
      - name: wordpress-persistent-storage
        persistentVolumeClaim:
          claimName: wp-pv-claim
  • 創(chuàng)建wordpress pod
kubectl apply -f wordpress.yaml
  • 檢查運行情況
kubectl get pod --all-namespaces
[root@k8s-master ~]# kubectl get pod --all-namespaces

NAMESPACE              NAME                                         READY   STATUS    RESTARTS   AGE
default                wordpress-578744754c-bxq4v                   1/1     Running   3          166m
default                wordpress-mysql-5b697dbbfc-vm9b4             1/1     Running   2          3h21m
kube-system            calico-kube-controllers-7cc97544d-z9mxz      1/1     Running   14         7d20h
kube-system            calico-node-7mc7r                            1/1     Running   0          7d2h
kube-system            calico-node-dpkwx                            1/1     Running   10         7d3h
kube-system            calico-node-zqkd5                            1/1     Running   14         7d20h
kube-system            coredns-674df8b8bd-g662l                     1/1     Running   14         7d20h
kube-system            coredns-674df8b8bd-rv7lr                     1/1     Running   15         7d20h
kube-system            etcd-k8s-master                              1/1     Running   15         7d20h
kube-system            kube-apiserver-k8s-master                    1/1     Running   17         7d20h
kube-system            kube-controller-manager-k8s-master           1/1     Running   49         7d20h
kube-system            kube-proxy-h7mh4                             1/1     Running   15         7d20h
kube-system            kube-proxy-sd5cz                             1/1     Running   0          7d2h
kube-system            kube-proxy-vxm62                             1/1     Running   7          7d3h
kube-system            kube-scheduler-k8s-master                    1/1     Running   41         7d20h
kubernetes-dashboard   dashboard-metrics-scraper-7b8b58dc8b-gtq65   1/1     Running   4          4d23h
kubernetes-dashboard   kubernetes-dashboard-5f5f847d57-ljngx        1/1     Running   4          4d20h

查看services端口

kubectl get services
NAME              TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes        ClusterIP      10.96.0.1      <none>        443/TCP        7d20h
wordpress         NodePort   10.96.183.43   <none>     80:30593/TCP   3h6m
wordpress-mysql   ClusterIP      None           <none>        3306/TCP       3h41m

訪問 matster節(jié)點IP:30593


image.png

問題排查

  • 創(chuàng)建pod失敗
    describe命令執(zhí)行
kubectl describe pod xxx

問題信息pvc一直處于Pending
kubectl describe pvc

no persistent volumes available for this claim and no storage class is set
Mounted By: <none>
實際為沒有合適的pv,創(chuàng)建合適的pv即可。


公眾號


公眾號.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驻右,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子崎淳,更是在濱河造成了極大的恐慌堪夭,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異森爽,居然都是意外死亡恨豁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門爬迟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來橘蜜,“玉大人,你說我怎么就攤上這事付呕〖聘#” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵徽职,是天一觀的道長象颖。 經(jīng)常有香客問我,道長活箕,這世上最難降的妖魔是什么力麸? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任可款,我火速辦了婚禮育韩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘闺鲸。我一直安慰自己筋讨,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布摸恍。 她就那樣靜靜地躺著悉罕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪立镶。 梳的紋絲不亂的頭發(fā)上壁袄,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機(jī)與錄音媚媒,去河邊找鬼嗜逻。 笑死,一個胖子當(dāng)著我的面吹牛缭召,可吹牛的內(nèi)容都是我干的栈顷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嵌巷,長吁一口氣:“原來是場噩夢啊……” “哼萄凤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起搪哪,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤靡努,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惑朦,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡神年,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了行嗤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片已日。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖栅屏,靈堂內(nèi)的尸體忽然破棺而出飘千,到底是詐尸還是另有隱情,我是刑警寧澤栈雳,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布护奈,位于F島的核電站,受9級特大地震影響哥纫,放射性物質(zhì)發(fā)生泄漏霉旗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一蛀骇、第九天 我趴在偏房一處隱蔽的房頂上張望厌秒。 院中可真熱鬧,春花似錦擅憔、人聲如沸鸵闪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚌讼。三九已至,卻和暖如春个榕,著一層夾襖步出監(jiān)牢的瞬間篡石,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工西采, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留凰萨,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓苛让,卻偏偏與公主長得像沟蔑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狱杰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353