004 | 工作:月度總結(jié)

2017-06-微培訓(xùn)-1.jpg

時間過的很快,距離畢業(yè)離校已經(jīng)過去將近三個月,上班也一個快一個半月,每天都在不斷的接觸新的東西,新舊知識需要融合,每周公司新人需要進(jìn)行周報總結(jié),算是一次新舊知識融合,但是輸出文檔只對內(nèi)開放,外網(wǎng)查閱不到,所以還是準(zhǔn)備花些時間進(jìn)行整理進(jìn)行知識融合過程,順便梳理下,整個學(xué)習(xí)周期,哪個環(huán)節(jié)可能出現(xiàn)了問題,哪些環(huán)節(jié)可以優(yōu)化,不進(jìn)行多層次的思考,發(fā)現(xiàn)不出問題,就算是多層次的思考,也會因為時機(jī)和場景等因素忽略掉部分問題。

整個輸出文檔按下面幾個部分進(jìn)行書寫:

先介紹下入職的行業(yè):云計算層次中的PAAS層相關(guān)的部署和開發(fā)工作

1. 做了什么

2017-06-微培訓(xùn)-2.jpg

部門有新人培養(yǎng)計劃,原本按部就班的按照培養(yǎng)計劃來就是整個的學(xué)習(xí)計劃,但是中途會兼顧項目的緊急程度而需要人手,所以即使是經(jīng)驗不足的情況下,也需要進(jìn)行團(tuán)隊協(xié)作開發(fā)。

2017-06-微培訓(xùn)-7.jpg

整個的培養(yǎng)計劃大致分為這么幾部分:

  • 熟悉部門相關(guān)業(yè)務(wù)
  • 針對裸服務(wù)器進(jìn)行相關(guān)的PAAS部署
  • 學(xué)習(xí)Docker 容器技術(shù),K8s 容器集群管理工具
  • 學(xué)習(xí)相關(guān)Ansible 自動化運(yùn)維工具
  • 學(xué)習(xí)內(nèi)部集成的部署工具的整個業(yè)務(wù)流程和代碼總結(jié)
  • 測試開發(fā)工作:UT
  • 接手相關(guān)開發(fā)工作

這一個月還是按照培養(yǎng)計劃進(jìn)行著,時間安排和任務(wù)也比較契合。占用時間比較大的一塊是搭建PAAS環(huán)境搭建。

通過對裸服務(wù)的一些列安裝部署,漸漸明白,類似于阿里云、騰訊云、百度云的產(chǎn)品底層大概是個什么樣的。

簡單從其中一個場景講起:比如我們從阿里云官網(wǎng)購買云服務(wù)器。

各類廠商機(jī)房有大量高性能服務(wù)器,性能高,內(nèi)存大,存儲空間大。
從裸服務(wù)器開始講起:

  • 給裸服務(wù)器安裝操作系統(tǒng): 一般是centos
  • 給服務(wù)器安裝openstack: 一套開源的云計算管理平臺
  • 各服務(wù)器按照場景或者需求,組成服務(wù)器群,各服務(wù)器之間可以相互通信
  • 其中一個服務(wù)器可以進(jìn)行遠(yuǎn)程登入,進(jìn)而對多臺服務(wù)器管理,這個暫且叫做控制節(jié)點(diǎn),其他可以稱為計算節(jié)點(diǎn)
  • 在openstack 基礎(chǔ)上:可以將這些服務(wù)器群看成是一個更巨型的計算機(jī)(比單獨(dú)的某個服務(wù)器性能、存儲翻倍)
  • 利用虛擬化技術(shù)可以將這個巨型的計算機(jī)分成創(chuàng)建多個租戶(即你購買的云服務(wù)器),這些租戶的容量,cpu,磁盤空間等可以根據(jù)需求進(jìn)行劃分,各租戶可以綁定浮動IP,且各租戶彼此之間不影響
  • 租戶可以創(chuàng)建,銷毀,回收

一句話總結(jié)這個過程:將物理上獨(dú)立的服務(wù)器群進(jìn)行集合成"更大的計算機(jī)", 在更大的計算機(jī)的基礎(chǔ)上利用虛擬化技術(shù),又可以切分成相互獨(dú)立的小型計算機(jī),小型計算機(jī)可以創(chuàng)建、銷毀、回收等操作。

即你購買云服務(wù)的背后是巨型服務(wù)器下劃分的小型計算機(jī),按照你購買的時限給予你一定的使用權(quán),不續(xù)費(fèi)之后,這個云服務(wù)器就被回收了。

當(dāng)然公司內(nèi)部對各種開源工具進(jìn)行了進(jìn)一步的封裝,使得安裝部署更為簡便,我大概花了兩周的時間從裸服務(wù)器搭建高可用性集群(其實熟悉了之后,一兩天就能搞定)。

除開發(fā)相關(guān)業(yè)務(wù)之外,還接手部門的部分行政工作,主要原因是因為我是新人。

2. 學(xué)了什么

2017-06-微培訓(xùn)-6.jpg

Linux

Linux 可能現(xiàn)在是開發(fā)人員的必備了,在學(xué)校期間相關(guān)的科研工作其實并沒有太多的場景使用Linux,因為Linux 在服務(wù)器層面使用居多。

2017-06-微培訓(xùn)-9.jpg

好,假如你現(xiàn)在也是沒有具體場景的Linux初學(xué)者,想要學(xué)習(xí)Linux,有兩個選擇:

  1. 在個人PC機(jī)上Vmware 虛擬機(jī)安裝Linux 或者本機(jī)Linux 操作系統(tǒng)的安裝
  2. 購買主流廠商的云服務(wù)器:大概幾十塊錢一個月(主流廠商對學(xué)生有優(yōu)惠價)

切換自己的開發(fā)環(huán)境或者日常辦公環(huán)境為Linux. 經(jīng)常使用,先不說了解內(nèi)核,正常工作還是沒啥問題的。

那主要的入門型的Linux 需要掌握哪些東西:記住一句話:Linux 一切皆文件
我總結(jié)了下大概這幾個方面:

  • 文件目錄操作
    常用的命令有:
mkdir file # 創(chuàng)建文件夾
rmdir file # 銷毀空文件夾
mv # 移動文件夾或者文件
cp # 復(fù)制文件夾或者文件
ls # 查看文件內(nèi)信息
cd # 切換目錄
pwd# 顯示當(dāng)前目錄 
rm # 刪除文件或者目錄 
  • Linux 目錄結(jié)構(gòu)
    安裝好的Linux 操作系統(tǒng)存在幾個特定的文件夾
root # 用戶目錄
boot # 掛載目錄,引導(dǎo)類目錄
etc  # 配置目錄
home # 普通用戶目錄
mnt  # 默認(rèn)光驅(qū),軟驅(qū)目錄
bin  # 命令目錄
sbin # 帶權(quán)限的命令目錄
var  # 異常信息目錄

  • 文件屬性
    Linux 是一個多用戶系統(tǒng),不同的用戶有不同的權(quán)限,不同用戶訪問同一個文件有不同的權(quán)限
文件有9個屬性(3+3+3 每個屬組下有三個r,w,x 權(quán)限):
r:讀
w:寫
x:可執(zhí)行

文件有屬于哪個組:
U: user
G: groups
O: others


更改權(quán)限和屬組:


chgrp # 更改文件屬組

chown # 更改文件屬主

chmod # 更改屬性

  • 文件操作
touch # 創(chuàng)建
rm   # 銷毀
vim/vi # 編輯
cp   # 復(fù)制
mv   # 一點(diǎn)或者重命名
cat # 查看
tac # 倒序查看
nl  # 顯示行號
tail # 顯示末尾幾行
head # 顯示開頭幾行
wc # 統(tǒng)計行和字?jǐn)?shù)
more # 一頁一頁顯示
  • 網(wǎng)絡(luò)管理
ifconfig # 查看網(wǎng)絡(luò)和網(wǎng)口信息
ping # 判斷網(wǎng)段是否聯(lián)通
traceroute/ tracepath # 路由跟蹤
host # DNS查詢    
ifdown/ifup # 關(guān)閉和開啟網(wǎng)口
netstat # 顯示網(wǎng)絡(luò)接口統(tǒng)計信息
  • 磁盤管理
df #列出文件系統(tǒng)的整體磁盤使用量
du #檢查磁盤空間使用量
fdisk #磁盤分區(qū)
  • 用戶管理
useradd # 添加
userdel # 刪除
sudo user # 用戶切換
passwd # 密碼管理和更改

  • shell

  • vim 操作

查詢命令幫助文檔: man command --help

大概是分這個入門型的幾類,回過頭來看看Linux 相關(guān)書籍的目錄,其實基礎(chǔ)講解也幾乎是這些東西。

  • 登入遠(yuǎn)程主機(jī)方式

工具: VNC, SecureCRT,Xshell,Putty

Docker

2017-06-微培訓(xùn)-8.jpg
  • 是什么
    應(yīng)用容器引擎,

  • 做什么
    允許開發(fā)者將應(yīng)用程序和配置等信息進(jìn)行打包到容器中,移植到一個其他的生產(chǎn)環(huán)境下,可以正常運(yùn)行。

  • 思想是

docker 原意是碼頭工人,碼頭有集裝箱,幾本的思想是將物件通過集裝箱運(yùn)輸?shù)狡渌胤?,而保持物品的完整性,可以正常使用?. 封裝性 2. 一致性 3. 移植性

  • 包含哪些
1. images : 鏡像
2. 容器
3. 倉庫


鏡像和容器的關(guān)系就相當(dāng)于程序設(shè)計中的類和實例的關(guān)系,倉庫完成的任務(wù)對鏡像的遠(yuǎn)程管理和存儲。

  • 基本的命令
docker images # 查詢主機(jī)上鏡像信息
docker ps # 查詢主機(jī)上運(yùn)行的容器
docker run ubuntu # 運(yùn)行容器
docker stop sha   # 停止容器運(yùn)行
docker info # 查詢?nèi)萜髡w信息
docker version # 版本信息
docker pull  python # 從遠(yuǎn)程倉庫拉去鏡像,可以指定鏡像倉庫地址,國內(nèi)比較好的是網(wǎng)易蜂巢
docker run --help # 查看run 指令的幫助文檔
docker build -t name . # 制作鏡像

Ansible

2017-06-微培訓(xùn)-10.jpg
  • 是什么
    一套比較新的集成了眾多優(yōu)秀自動化運(yùn)維的自動化運(yùn)維工具.

實現(xiàn)的是在本機(jī)上完成遠(yuǎn)程主機(jī)上的自動化部署,命令執(zhí)行,查詢,部署等操作。

  • 包含什么
1. ad-hoc # 執(zhí)行命令的方式
2. playbook # 按劇本操作執(zhí)行自動化部署等命令
這兩者的區(qū)別是: 相當(dāng)于ad-hoc 是敲shell 命令行的這種,playbook 則是編寫yml 文件,在里面按順序執(zhí)行命令

  • 框架組成
1. 主機(jī)清單
2. playbook
3. 連接工具
4. 模塊
5. ansible core

  • 各部件的作用

hosts 清單: 遠(yuǎn)程主機(jī)的集中管理,其實就是遠(yuǎn)程主機(jī)IP地址的集合
比如下面這個簡易的hosts文件

[local]
10.62.99.17

[PAAS]
10.62.60.129
10.62.60.64

playbook: 主要是遵從yaml 標(biāo)記語言順序執(zhí)行

---
- hosts: local
  remote_user: root
  tasks:
      - name : print docker images
        shell: docker images

連接工具: 本地主機(jī)和遠(yuǎn)程主機(jī)通過SSH協(xié)議連接,安全性能有保障

ssh 常用操作

1. 連接主機(jī)
ssh root@10.62.60.129

2. 生成秘鑰
ssh-keygen -t rsa

3. 將本機(jī)公鑰添加到遠(yuǎn)程主機(jī)上

ssh-copy-id -i ~/.ssh/id_rsa.pub rot@10.62.60.129

模塊: 包含兩個部分:內(nèi)置和自己開發(fā)的模塊

常用的模塊:

copy # 復(fù)制文件
file # 文件操作
command # 命令
shell 
ping
yum/apt  # 安裝模塊
service # 服務(wù)模塊

  • 命令實例: ad-hoc
- m : 接模塊名稱
- a : 接模塊需要添加的參數(shù)信息

1. 判斷遠(yuǎn)程主機(jī)是否網(wǎng)絡(luò)連通

ansible all -m ping

2. 判斷遠(yuǎn)程主機(jī)docker服務(wù)是否開啟

ansible PAAS -m service -a "name=docker state=started"

3. 查詢遠(yuǎn)程主機(jī)鏡像信息

ansible PAAS -m shell -a "docker images"

4. 把管理主機(jī)的某個文件移植到遠(yuǎn)程主機(jī)指定文件夾下

ansible PAAS -m copy -a "src=   dest="

5. 查詢命令帶的key 參數(shù)有哪些
ansible-doc -s copy

3. 問題和改進(jìn)

  • 學(xué)習(xí)知識

入門簡單,熟練使用需要靠時間,精通需要靠刻意練習(xí)

  • 對標(biāo)

學(xué)習(xí)經(jīng)常會需要解決的問題是什么,所以經(jīng)常需要對標(biāo),即:寫明需要解決的問題,對照你現(xiàn)在查詢或者正在解決的方式是不是向著問題被解決的方向進(jìn)行著...

  • 對齊

同時間段入職的人培養(yǎng)計劃依照的是團(tuán)隊的需求進(jìn)行的,但其實整體需要掌握的技能是差不多的,所以在學(xué)有余力的情況下,參照別人的培養(yǎng)計劃,填補(bǔ)相應(yīng)的知識

  • 早準(zhǔn)備

遇到的問題,其實有很多東西難以徹底搞清楚, 想搞清楚往往發(fā)現(xiàn)會是一個龐大的體系。好,為解決這個問題,多問為什么,比如:是什么; 是在解決什么問題; 怎么做?

  • 反復(fù)確認(rèn)

反復(fù)確認(rèn)不是問相同的問題,而是從問題的不同方面確定你聽到的和領(lǐng)導(dǎo)表達(dá)的是沒有差錯的。

  • 記錄

第一,你沒經(jīng)驗
第二,你接收信息能力弱
第三,你需要信息整合能力

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,063評論 25 709
  • 一年匆匆,重回這個陽臺又是另一番心境。 思緒跳到離校最后一晚,化學(xué)老師喝得伶仃大醉,看著教室里三三兩兩在做事情,還...
    林被愛跳舞閱讀 337評論 0 0
  • 發(fā)生在兵營里的那些靈異事,邪門到你無法相信! 一位兵哥哥在網(wǎng)上分享的,他當(dāng)兵時遭遇的靈異事兒……乃們感受下~ (一...
    我也說聊齋閱讀 1,340評論 0 0

友情鏈接更多精彩內(nèi)容