將單機應用服務制作為鏡像

本文將原虛機上部署的redis制作鏡像并使用 Kubernetes運行毛雇。
注: 原單臺機器上部署了redis 偽集群卿拴, 本文記錄一般應用制作鏡像的過程长已,本例中redis服務本身不是重點技俐。

選擇基礎版本鏡像 centos

選擇官方的centos 旋恼, docker pull centos 吏口。

使用docker運行該centos鏡像

docker run -v /root/data:/data -ti centos /bin/bash

安裝基本軟件和 應用軟件

  1. yum , 需要修改源 和 配置yum代理冰更, 將相關配置文件放到宿主機的共享目錄 /root/data , 共享給容器产徊。
  2. 安裝 net-tools , bind-utils
    yum install net-tools (ifconfig)
    yum install bind-utils (nslookup)
    驗證 使用 ifconfig , nslookup
  3. 安裝 vim (可選)
    yum install vim
  4. 配置時區(qū)
    使用tzselect , 選擇時區(qū) 蜀细。
    將結(jié)果配置到環(huán)境變量 /etc/profile 中 :
TZ='Asia/Shanghai'; export TZ

建立軟連接:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

通過 date -R 驗證
Thu, 28 Jun 2018 21:59:12 +0800

  1. 將應用redis打包舟铜, 通過共享目錄給容器

配置應用

該應用比較特殊的地方在于需要根據(jù)本機的ip地址進行應用配置, 而每次容器啟動后分配的地址可能不固定奠衔,因此需要自寫腳本來獲取ip 并 修改相應的配置文件 .
該腳本的作用在于谆刨,修改配置 并啟動服務 塘娶。

if [ -x "/sbin/ifconfig" ];
then
_rhost=$(/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}')
else
_rhost=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}')
fi
_rhost=${_rhost/'addr:'/}

# _rhost="10.30.11.11" 

echo "ip address: $_rhost" 
echo "date zone:" `date -R`

sourceip="172.17.0.3"

# redis-slave2.conf  sentinel.conf 
echo "sed redis-slave2.conf ===================="
sed -i "s/$sourceip/$_rhost/" /app/redis/redis-2.8.19/config/redis-slave2.conf

cat /app/redis/redis-2.8.19/config/redis-slave2.conf

echo "sed sentinel.conf ===================="
sed -i "s/$sourceip/$_rhost/" /app/redis/redis-2.8.19/config/sentinel.conf

提交該容器制作初步鏡像

  1. 從上述容器退出 。
  2. 通過 docker ps -a | grep centos , 獲取剛剛退出的容器id 痴荐。
  3. 使用 commit命令 血柳,生成提交容器變更內(nèi)容 ,生成新鏡像 生兆, docker commit 9999bb3459bc redis-tmp
  4. 通過 docker images 來查看新生成的鏡像 难捌,名稱為redis-tmp ,容器IMAGE ID 為 ad8752d52fc4 鸦难。

制作dockerfile

FROM redis-tmp
MAINTAINER xxx
WORKDIR /app/redis/redis-2.8.19/bin/

EXPOSE 6379
EXPOSE 7379
EXPOSE 8379
EXPOSE 26379

ENTRYPOINT ./dockerRedisStart.sh && tail -F ./sentinel.log

FROM redis-tmp 根吁, 從上述初步鏡像來作為基礎鏡像 。
ENTRYPOINT 是容器運行時執(zhí)行的命令入口合蔽, 命令需要前臺執(zhí)行击敌,否則執(zhí)行完會自動退出, 這里 tail -F ./sentinel.log 是為了防止自動退出拴事,又能打印日志沃斤。

docker build

docker build -f shenmaredis-dockerfile -t shenma-redis-tmp ./
docker build -f dockerfile文件 -t 生成的鏡像名稱

通過 docker images 可以查看到新生成的鏡像。

鏡像重命名 并 放入私有倉庫 :
docker tag shenma-redis-tmp:latest node205:5000/shenma-redis:test
docker push node205:5000/shenma-redis:test

在工作節(jié)點上 拉取該新生成的鏡像

這一步主要是因為k8s配置文件中沒有配置鏡像拉取策略刃宵。
防止node使用本地鏡像而不去取最新的鏡像衡瓶。

使用kubectl 創(chuàng)建相應資源

apiVersion: apps/v1
kind: Deployment
metadata:
  name: shenma-redis
  labels:
    app: redis
    envs: develop
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
      envs: develop
  template:
    metadata:
      labels:
        app: redis
        envs: develop
    spec:
      containers:
      - name: shenma-redis
        image: node205:5000/shenma-redis:test
        # imagePullPolicy: Always
        ports:
        - containerPort: 26379

創(chuàng)建資源Deployment:
kubectl create -f shenma-redis-deployment.yaml

查看pods :
kubectl get pods -o wide

查看日志 :
kubectl logs -f shenma-redis-545f986bd-bp69g

刪除資源:
kubectl delete -f shenma-redis-deployment.yaml

進入鏡像

kubectl exec pod-name -ti /bin/bash

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市牲证,隨后出現(xiàn)的幾起案子哮针,更是在濱河造成了極大的恐慌,老刑警劉巖坦袍,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件十厢,死亡現(xiàn)場離奇詭異,居然都是意外死亡捂齐,警方通過查閱死者的電腦和手機蛮放,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門搞隐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豹休,“玉大人,你說我怎么就攤上這事私植】嫠” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵内边,是天一觀的道長榴都。 經(jīng)常有香客問我,道長漠其,這世上最難降的妖魔是什么嘴高? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任竿音,我火速辦了婚禮,結(jié)果婚禮上拴驮,老公的妹妹穿的比我還像新娘春瞬。我一直安慰自己,他們只是感情好套啤,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布宽气。 她就那樣靜靜地躺著,像睡著了一般潜沦。 火紅的嫁衣襯著肌膚如雪萄涯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天唆鸡,我揣著相機與錄音涝影,去河邊找鬼。 笑死争占,一個胖子當著我的面吹牛燃逻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播臂痕,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼伯襟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刻蟹?” 一聲冷哼從身側(cè)響起逗旁,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舆瘪,沒想到半個月后片效,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡英古,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年淀衣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片召调。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡膨桥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出唠叛,到底是詐尸還是另有隱情只嚣,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布艺沼,位于F島的核電站册舞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏障般。R本人自食惡果不足惜调鲸,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一盛杰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧藐石,春花似錦即供、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至角雷,卻和暖如春祸穷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勺三。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工雷滚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吗坚。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓祈远,卻偏偏與公主長得像,于是被迫代替她去往敵國和親商源。 傳聞我的和親對象是個殘疾皇子车份,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容