天天看點

通過Rancher部署并擴容Kubernetes叢集基礎篇二

接上一篇通過Rancher部署并擴容Kubernetes叢集基礎篇一

7. 使用ConfigMap配置redis

https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/user-guide/configmap/redis/redis-config

redis-config

 redis-pod.yaml

8. 使用kubectl指令管理kubernetes對象

  或者

  使用kubectl create建立一個配置檔案中定義的對象

  删除兩個配置檔案中定義的對象

 

  更新對象

  處理configs目錄下所有的對象配置檔案,建立新的對象或者打更新檔現有的對象

  遞推處理子目錄下的對象配置檔案

  9. 部署無狀态應用

   9.1 使用deployment運作一個無狀态應用

    deployment.yaml

  這裡需要注意一下,rancher1.6.2部署的是kubernetes 1.5.4 

   這裡的apiVersion要改一下,改成extensions/v1beta1

   kubernetes從1.6引入apps/v1beta1.Deployment 替代 extensions/v1beta1.Deployment

   顯示這個deployment的資訊

  更新deployment

  deployment-update.yaml

  和deployment.yaml除了p_w_picpath不同之外其餘的内容相同

  執行更新後,kubernetes會先建立新的pods,然後再停掉并删除老的pods

  已經更新成功了

  通過增加replicas的數量來擴充應用

   修改deployment-scale.yaml 

   replicas: 4

    删除deployment

  建立一個可以複制的應用首選的方式是使用的deployment, deployment會使用ReplicaSet.  在Deployment和ReplicaSet加入到Kubernetes之前,可複制的應用是通過ReplicationController來配置的

  9.2 案例: 部署一個以Redis作為存儲的PHP留言闆

   第一步:   啟動一個redis master服務

    redis-master-deployment.yaml

   redis-master-service.yaml

  targetPort是後端容器接收外部流量的端口,port是其他任務pods通路service的端口

  kubernetes支援兩種主要的模式來發現一個service -- 環境變量和DNS

  檢視叢集DNS

    第二步: 啟動一個redis slave服務

     redis-slave.yaml

   第三步:  啟動一個留言闆前端

   frontend.yaml

  guestbook.php 

  redis-slave 容器裡面有個/run.sh

  redis-master通過kube-dns解析

  從外部通路這個留言闆有兩種方式:  NodePort和LoadBalancer

  更新frontend.yaml

  設定 type: NodePort

  可以看到frontend對叢集外暴露一個31338端口,通路任意一個叢集節點

  http://172.30.30.217:31338/

  更新設定frontend.yaml

  設定 type: LoadBalancer

  使用rancher部署kubernetes,這裡設定type為LoadBalancer後,在rancher上可以看到

  kubernetes-loadbalancers

   預設對外的端口是80,可以自己調整,還可以rancher LB的容器數量

通過Rancher部署并擴容Kubernetes叢集基礎篇二
通過Rancher部署并擴容Kubernetes叢集基礎篇二

   http://172.30.30.217:888/

   http://172.30.30.219:888/

 10.部署有狀态應用

  StatefulSets是用于部署有狀态應用和分布式系統。部署有狀态應用之前需要先部署有動态持久化存儲

   10.1  StatefulSet基礎

      使用Ceph叢集作為Kubernetes的動态配置設定持久化存儲

   10.2 運作一個單執行個體的有狀态應用

   10.3 運作一個多執行個體複制的有狀态應用

   10.4 部署WordPress和MySQL案例

   10.5 部署Cassandra案例

   10.6 部署ZooKeeper案例

參考文檔:

http://blog.kubernetes.io/2016/10/dynamic-provisioning-and-storage-in-kubernetes.html

繼續閱讀