運(yùn)維工程師應(yīng)聘面試題總結(jié)_第1頁
運(yùn)維工程師應(yīng)聘面試題總結(jié)_第2頁
運(yùn)維工程師應(yīng)聘面試題總結(jié)_第3頁
運(yùn)維工程師應(yīng)聘面試題總結(jié)_第4頁
運(yùn)維工程師應(yīng)聘面試題總結(jié)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

運(yùn)維工程師應(yīng)聘面試題總結(jié)

一、linux

Llinux系統(tǒng)啟動(dòng)流程

?第一步:開機(jī)自檢,加載BIOS

?第二步:讀取MBR

?第三步:BootLoadergrub引導(dǎo)菜單

?第四步:加載kernel內(nèi)核

?第五步:init進(jìn)程依據(jù)inittab文件夾來設(shè)定運(yùn)行級(jí)別

?第六步:init進(jìn)程執(zhí)行rc.sysinit

?第七步:啟動(dòng)內(nèi)核模塊

?第八步:執(zhí)行不同運(yùn)行級(jí)別的腳本程序

?第九步:執(zhí)行/etc/rc.d/rc.l。

2.linux文件類型

--常規(guī)文件,即file

?d目錄文件

?bblockdevice即塊設(shè)備文件,如硬盤;支持以block為單位進(jìn)行隨機(jī)訪

?ccharacterdevice即字符設(shè)備文件,如鍵盤支持以character為單位進(jìn)

行線性訪問

?Isymboliclink即符號(hào)鏈接文件,又稱軟鏈接文件

?ppipe即命名管道文件

?ssocket即套接字文件,用于實(shí)現(xiàn)兩個(gè)進(jìn)程進(jìn)行通信

3.centos6和7怎么將源碼安裝的程序添加到開機(jī)自啟動(dòng)?

?通用方法:編輯/etc/rc.d/rc.local文件,在文件末尾添加啟動(dòng)服務(wù)命令

?centos6:①進(jìn)入到/etc/rc.d/init.d目錄下,②新建一個(gè)服務(wù)啟動(dòng)腳本,

腳本中指定chkconfig參數(shù),③添加執(zhí)行權(quán)限,④執(zhí)行chkconfig-add添

加服務(wù)自啟動(dòng)

?centos7:①進(jìn)入到/usr/lib/systemd/system目錄下,②新建自定義服

務(wù)文件,文件中包含[Unit][Service][Install]相關(guān)配置,然后添加下執(zhí)行權(quán)

限,③執(zhí)行systemctlenable服務(wù)名稱

4.簡述Ivm,如何給使用Ivm的/分區(qū)擴(kuò)容?

?功能:可以對(duì)磁盤進(jìn)行動(dòng)態(tài)管理。動(dòng)態(tài)按需調(diào)整大小

?概念:

①PV-物理卷:物理卷在邏輯卷管理中處于最底層,它可以是實(shí)際物理硬盤上

的分區(qū),也可以是整個(gè)物理硬盤,也可以是raid設(shè)備。

②VG-卷組:卷組建立在物理卷之上,一個(gè)卷組中至少要包括一個(gè)物理卷,在

卷組建立之后可動(dòng)態(tài)添加物理卷到卷組中。一個(gè)邏輯卷管理系統(tǒng)工程中可以只有

一個(gè)卷組,也可以擁有多個(gè)卷組。

③LV-邏輯卷:邏輯卷建立在卷組之上,卷組中的未分配空間可以用于建立新

的邏輯卷,邏輯卷建立后可以動(dòng)態(tài)地?cái)U(kuò)展和縮小空間。系統(tǒng)中的多個(gè)邏輯卷可以

屬于同一個(gè)卷組,也可以屬于不同的多個(gè)卷組。

?給/分區(qū)擴(kuò)容步驟:

①添加磁盤

②使用fdisk命令對(duì)新增加的磁盤進(jìn)行分區(qū)

③分區(qū)完成后修改分區(qū)類型為Ivm

④使用pvcreate創(chuàng)建物理卷

⑤使用vgextend命令將新增加的分區(qū)加入到根目錄分區(qū)中

⑥使用Ivextend命令進(jìn)行擴(kuò)容

⑦使用xfs_growfs調(diào)整卷分區(qū)大小

5.為何du和df統(tǒng)計(jì)結(jié)果不一致?

?用戶刪除了大量的文件被刪除后,在文件系統(tǒng)目錄中已經(jīng)不可見了,所以

du就不會(huì)再統(tǒng)計(jì)它。

?然而如果此時(shí)還有運(yùn)行的進(jìn)程持有這個(gè)已經(jīng)被刪除的文件句柄,那么這個(gè)

文件就不會(huì)真正在磁盤中被刪除,分區(qū)超級(jí)塊中的信息也就不會(huì)更改,df

仍會(huì)統(tǒng)計(jì)這個(gè)被刪除的文件。

?可通過Isof命令查詢處于deleted狀態(tài)的文件,被刪除的文件在系統(tǒng)中

被標(biāo)記為deleted。如果系統(tǒng)有大量deleted狀態(tài)的文件,會(huì)導(dǎo)致du和df

統(tǒng)計(jì)結(jié)果不一致。

6.如何升級(jí)內(nèi)核?

?方法一

#添加第三方y(tǒng)um源進(jìn)行下載安裝。

Centos6YUM源:

http://www?/elrepo-release-6-6.el6.elrepo.noarch.rpm

Centos7YUM源:

/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

#先導(dǎo)入elrepo的key,然后安裝elrepo的yum源:

rpm-import/RPM-GPG-KEY-

rpm-Uvh

/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

#查看可用的內(nèi)核相關(guān)包

yum一一disablerep?!?一enablerepo=nelrepo-kernelnlistavailable

yum-y——enablerepo=elrepo-kernelinstall

?方法二

#通過下載kernelimage的rpm包進(jìn)行安裝。

官方Centos6:/linux/kernel/el6/x86_64/RPMS/

官方Centos7:/linux/kernel/el7/x86_64/RPMS/

#獲取下載鏈接進(jìn)行下載安裝即可

wget

/linux/kernel/el7/x86_64/RPMS/kernel-lt-4.4.185

-1.el7.elrepo.x86_64.rpm

rpm-ivhkernel-lt-4.4.185-1.el7.elrepo.x86_64.rp

#查看默認(rèn)啟動(dòng)順序

[root@localhostawk-F\1*$l==nmenuentry”{print$2}'

/etc/grub2.cfg

CentOSLinux(5.2.2-l.el7.elrepo.x86_64)7(Core)

CentOSLinux(4.4.182-l.el7.elrepo.x86_64)7(Core)

CentOSLinux(3.10.0-957.21.3.el7.x86_64)7(Core)

CentOSLinux(3.10.0-957.10.1.el7.x86_64)7(Core)

CentOSLinux(3.10.0-327.el7.x86_64)7(Core)

CentOSLinux(0-rescue-e34fb4f1527b4f2d9fc75b77c016b6e7)7(Core)

由上面可以看出新內(nèi)核(4.12.4)目前位置在0,原來的內(nèi)核(3.10.0)目前位置在1

#設(shè)置默認(rèn)啟動(dòng)

[root@localhost~]#grub2-set-default0//0代表當(dāng)前笫一行,也就是

4.12.4版本

#重啟驗(yàn)證

7.nginx曰志訪問量前十的ip怎么統(tǒng)計(jì)?

awk'{array[$l]++}END{for(ipinarray)printip,array[ip]}'access.log[sort

-k2-rn|head

8.如何刪除/var/log/下Jog結(jié)尾的30天前的日志?

find/var/log/-typef-name.*.log-mtime30|xargsrm-f

9.ansible有哪些模塊?功能是什么?

?copy:拷貝文件到被控端

?cron:定時(shí)任務(wù)

?fetch:拷貝被控端文件到本地

?file:文件模塊

?group:用戶組模塊

?user:用戶模塊

?hostname:主機(jī)名模塊

?script:腳本模塊

?service:服務(wù)啟動(dòng)模塊

?command:遠(yuǎn)程執(zhí)行命令模塊

?shell:遠(yuǎn)程執(zhí)行命令模塊

?yum:安裝包組模塊

?setup:查看主機(jī)系統(tǒng)信息

10.nginx為什么比叩ache快?

?nginx采用epoll模型

?apache采用select模型

11.四層負(fù)載和七層負(fù)載區(qū)別是什么?

?四層基于IP+端口進(jìn)行轉(zhuǎn)發(fā)

七層就是基于URL等應(yīng)用層信息的負(fù)載均衡

12.Ivs有哪些工作模式?哪個(gè)性能高?

?dr:直接路由模式,請(qǐng)求由LVS接受,由真實(shí)提供服務(wù)的服務(wù)器直接返

回給用戶,返回的時(shí)候不經(jīng)過LVSO(性能最高)

?tun:隧道模式,客戶端將訪問vip報(bào)文發(fā)送給LVS服務(wù)器。LVS服務(wù)器

將請(qǐng)求報(bào)文重新封裝,發(fā)送給后端真實(shí)服務(wù)器。后端真實(shí)服務(wù)器將請(qǐng)求報(bào)文

解封,在確認(rèn)自身有vip之后進(jìn)行請(qǐng)求處理。后端真實(shí)服務(wù)器在處理完數(shù)據(jù)

請(qǐng)求后,直接響應(yīng)客戶端。

?nat:網(wǎng)絡(luò)報(bào)的進(jìn)出都要經(jīng)過LVS的處理。LVS需要作為RS的網(wǎng)關(guān)。

當(dāng)包到達(dá)LVS時(shí),LVS做目標(biāo)地址轉(zhuǎn)換(DNAT),將目標(biāo)IP改為RS的

IPoRS接收到包以后,仿佛是客戶端直接發(fā)給它的一樣。RS處理完,返

回響應(yīng)時(shí),源IP是RSIP,目標(biāo)IP是客戶端的IP。這時(shí)RS的包通過

網(wǎng)關(guān)(LVS)中轉(zhuǎn),LVS會(huì)做源地址轉(zhuǎn)換(SNAT),將包的源地址改為VIP,

這樣,這個(gè)包對(duì)客戶端看起來就仿佛是LVS直接返回給它的??蛻舳藷o法

感知到后端RS的存在。

?fullnat模式:fullnat模式和nat模式相似,但是與nat不同的是nat模

式只做了兩次地址轉(zhuǎn)換,fullnat模式卻做了四次。

13.Ivsnginxhaproxykeeplived區(qū)別,優(yōu)缺點(diǎn)?

這個(gè)自行百度吧,我就不信在這細(xì)說了

14.如下url地址,各個(gè)部分的含義

/s?word=123&ie=utf-8

?https:使用https加密協(xié)議訪問

?/s:請(qǐng)求地址

??word&ie=utf-8:get請(qǐng)求的參數(shù),多個(gè)參數(shù)&連接

15.tomcat各個(gè)目錄含義,如何修改端口,如何修改內(nèi)存數(shù)?

?bin存放tomcat命令

?conf存放tomcat配置文件

?lib存放tomcat運(yùn)行需要加載的jar包

?log存在Tomcat運(yùn)行產(chǎn)生的日志

?temp運(yùn)行過程中產(chǎn)生的臨時(shí)文件

?web叩ps站點(diǎn)目錄

?work存放tomcat運(yùn)行時(shí)的編譯后的文件

?conf/server.xml修改端口號(hào)

?bin/catalina.sh修改jvm內(nèi)存

16.nginx反向代理時(shí),如何使后端獲取真正的訪問來源ip?

在location配置段添加以下內(nèi)容:

proxy_set_headerHost$http_host;proxy_set_headerX-Real-IP

$remote_addr;proxy_set_headerX-Forwarded-For

$proxy_add__x__forwarded_for;proxy_set_headerX-Forwarded-Proto

$scheme;

17.nginx負(fù)載均衡算法有哪些?

rr輪訓(xùn)I

?weight加權(quán)輪訓(xùn)

?ip_hash靜態(tài)調(diào)度算法

?fair動(dòng)態(tài)調(diào)度算法

?url_hashurl哈希

?leat_conn最小連接數(shù)

18.如何進(jìn)行壓力測(cè)試?

例如:模擬10個(gè)用戶,對(duì)百度首頁發(fā)起總共100次請(qǐng)求。

測(cè)試命令:ab-n100-c10/index.htm

19.curl命令如何發(fā)送https請(qǐng)求?如何蟄看response頭信息?如何發(fā)送get

和post表單信息?

?發(fā)送https請(qǐng)求:curl—tlsvl

'/api/v2/transactions/btcusd/'

?response頭信息:curl-I

?get:curl請(qǐng)求地址?keyl=valuel&key2=value2&key3=value3

?post:curl-d"keyl=valuel&key2=value2&key3=value3"

二、mysql

1.索引的為什么使蟄詢加快?有啥缺點(diǎn)?

默認(rèn)的方式是根據(jù)搜索條件進(jìn)行全表掃描,遇到匹配條件的就加入搜索結(jié)果集

合。如果我們對(duì)某一字段增加索引,查詢時(shí)就會(huì)先去索引列表中一次定位到特定

值的行數(shù),大大減少遍歷匹配的行數(shù),所以能明顯增加查詢的速度

缺點(diǎn):

?創(chuàng)建索引和維護(hù)索引要耗費(fèi)時(shí)間,這種時(shí)間隨著數(shù)據(jù)量的增加而增加

?索引需要占物理空間,除了數(shù)據(jù)表占用數(shù)據(jù)空間之外,每一個(gè)索引還要占用一

定的物理空間,如果需要建立聚簇索引,那么需要占用的空間會(huì)更大

■以表中的數(shù)據(jù)進(jìn)行增、冊(cè)!k改的時(shí)候,索引也要?jiǎng)討B(tài)的維護(hù),這就降低了整數(shù)

的維護(hù)速度

2.sql語句左外連接右外連接內(nèi)連接全連接區(qū)別

SQLJOINS

SETJSCT<s€lect_list>SELECT〈select」ist>

FROMTableAAFROMTableAA

LEFTJOINTablcBBRIGHTJOINTableBB

ONA.Key=B.KeyONA.Key=B.Key

SELECT<sclcct_list>

FROMTablcAA

INNERJOINTableBB

ONA.Key=B.Key

FROMTableAA

LEFTJOINTabkBBRIGHTJOINTableBB

ONA.Kcy=B.KeyONA.Kcy=B.Key

WHEREB.KeyISNULLWHERE兒KeyISNUIX

SEIJiCT<selcct_list>

SELECT<sclcct_list>FROMTableAA

FROMTablcAAFULLOUTERJOINTableBB

FULLOUTERJOINTableBBONA.Key=B.Key

ONA.Key=B.KeyWHEREA.KcyISNULL

?CL.Moffitt,2008ORB.KeyISNULL

3.mysql數(shù)據(jù)備份方式,如何恢復(fù)?你們的備份策略是什么?

?物理完全備份

備份所有數(shù)據(jù)庫文件:/var/lib/mysql/*

備份所有binlog文件:/var/lib/mysql/mysql-bin.*

備份選項(xiàng)文件:/etc/f

?mysqIdump邏輯備份

mysqldump-uroot-p-all-databases>/backup/mysqldump/all.db

物理備份恢復(fù)

mv/var/lib/mysql/var/lib/mysql.old#先把原來的數(shù)據(jù)目錄改名

cp-a/backups/mysql/var/lib

?邏輯備份數(shù)據(jù)恢復(fù)

mysql>usedb_name

mysql>source/backup/mysqldump/db_name.db

4.如何配置數(shù)據(jù)庫主從同步,實(shí)際工作中是否遇到數(shù)據(jù)不一致問題?如何解

決?

為每個(gè)服務(wù)器配置唯一值的server-id

?主庫

開啟binlog日志

創(chuàng)建主從復(fù)制用戶

查看master的狀態(tài)

?從庫

changemasterto設(shè)置主庫信息

startslave開始復(fù)制

5.mysql約束有哪些?

?非空約束

?唯一約束

?主鍵約束

?外鍵約束

6.二進(jìn)制日志(binlog)用途?

BINLOG記錄數(shù)據(jù)庫的變更過程。例如創(chuàng)建數(shù)據(jù)庫、建表、修改表等DDL操作、

以及數(shù)據(jù)表的相關(guān)DML操作,這些操作會(huì)導(dǎo)致數(shù)據(jù)庫產(chǎn)生變化,開啟binlog

以后導(dǎo)致數(shù)據(jù)庫產(chǎn)生變化的操作會(huì)按照時(shí)間順序以"事件"的形式記錄到binlog

二進(jìn)制文件中

7.mysql數(shù)據(jù)引擎有哪些?

?常用的myisam、innodb

?區(qū)別:

InnoDB支持事務(wù),MylSAM不支持,這一點(diǎn)是非常之重要。事務(wù)是一種高級(jí)

的處理方式,如在一些列增刪改中只要哪個(gè)出錯(cuò)還可以回滾還原,而MylSAM

就不可以了;

MylSAM適合查詢以及插入為主的應(yīng)用,InnoDB適合頻繁修改以及涉及到安

全性較高的應(yīng)用;

InnoDB支持外鍵,MylSAM不支持;

MylSAM是默認(rèn)引擎,InnoDB需要指定;

InnoDB不支持FULLTEXT類型的索引;

InnoDB中不保存表的行數(shù),如selectcount(*)fromtable時(shí),InnoDB;需

要掃描一遍整個(gè)表來計(jì)算有多少行,但是MylSAM只要簡單的讀出保存好的行

數(shù)即可。注意的是,當(dāng)count(*)語句包含where條件時(shí)MylSAM也需要掃

描整個(gè)表;

對(duì)于自增長的字段,InnoDB中必須包含只有該字段的索引,但是在MylSAM

表中可以和其他字段一起建立聯(lián)合索引;

清空整個(gè)表時(shí),InnoDB是一行一行的刪除,效率非常慢。MylSAM則會(huì)重建

表;

InnoDB支持行鎖(某些情況下還是鎖整表,如updatetableseta=lwhere

userlike'%lee%'

8.如何查詢mysql數(shù)據(jù)庫存放路徑?

mysql>showvariableslike1datadir%1;

+---------------+-------------------------+

IVariable_name|Value|

+---------------+-------------------------+

Idatadir|/usr/local/mysql/data/|

+---?1rowinset(0.00sec)

9.mysql數(shù)據(jù)庫文件后綴名有哪些?用途什么?

myisam

,frm文件:保護(hù)表的定義

,myd:保存表的數(shù)據(jù)

.myi:表的索引文件

?innodb

.frm:保存表的定義

.ibd:表空間

10.如何修改數(shù)據(jù)庫用戶的密碼?

?mysql8之前

setpasswordfor用戶名@localhost=password('新密碼');

mysqladmin-u用戶名-p舊密碼password新密碼

updateusersetpassword=password('123')whereuser='root'and

host='localhost';

?mysq18之后

#mysql8初始對(duì)密碼要求高簡單的字符串不讓改。先改成:MyNewPass@123;

alteruser'root'@'localhost'identifiedby'MyNewPass@123';

#降低密碼難度

setglobalvalidate_password.policy=0;

setglobalvalidate_password.length=4;

#修改成簡易密碼

alteruser'root^'localhost'IDENTIFIEDBY'1111';

11.如何修改用戶權(quán)限?如何蟄看?

?授權(quán):

grantallon*.*touser@'%'identifiedby'passwd'

?查看權(quán)限

showgrantsforuser@'%';

三、nosql

1.redis數(shù)據(jù)持久化有哪些方式?

?rdb

?aof

2.redis集群方案有哪些?

?官方cluster方案

?twemproxy代理方案

哨兵模式

codis客戶端分片

3.redis如何進(jìn)行數(shù)據(jù)備份與恢復(fù)?

?備份

redis:6379>SAVE

創(chuàng)建redis備份文件也可以使用命令BGSAVE,該命令在后臺(tái)執(zhí)行。

?還原

只需將備份文件(dump.rdb)移動(dòng)到redis安裝目錄并啟動(dòng)服務(wù)即可

redis:6379>CONFIGGETdir

1)"dir"

2)"/usr/local/redis/bin"

4.MongoDB如何進(jìn)行數(shù)據(jù)備份?

mongoexport/mongoimport

mongodump/mongorestore

5.kafka為何比redisrabbitmq快?

這個(gè)大家自行百度,在這就不贅述了

四、docker

1.dockerfile有哪些關(guān)鍵字?用途是什么?

指令描述

FROM構(gòu)建新鏡像是基于哪個(gè)鏡像

MAINTAINER鏡像維護(hù)者姓名或郵箱地址

RUN構(gòu)建鏡像時(shí)運(yùn)行的Shell命令

COPY拷貝文件或目錄到鏡像中

ENV設(shè)置環(huán)境變量

USER為RUN、CMD和ENTRYPO1NT執(zhí)行命令指定運(yùn)行用戶

EXPOSE聲明容器運(yùn)行的服務(wù)端口

HEALTHCHECK容器中服務(wù)健康檢查

WORKDIR為RUN、CMD、ENTRYPOINT.COPY和ADD設(shè)置工作目錄

ENTRYPOINT運(yùn)行容器時(shí)執(zhí)行,如果有多個(gè)ENTRYPOINT指令,最后一個(gè)生效

CMD運(yùn)行容器時(shí)執(zhí)行,如果有多個(gè)CMD指令,最后一個(gè)生效

2.如何減小dockerfile生成鏡像體積?

?盡量選取滿足需求但較小的基礎(chǔ)系統(tǒng)鏡像,例如大部分時(shí)候可以選擇

debian:wheezy或debian:jessie鏡像,僅有不足百兆大小;

?清理編譯生成文件、安裝包的緩存等臨時(shí)文件;

?安裝各個(gè)軟件時(shí)候要指定準(zhǔn)確的版本號(hào),并避免引入不需要的依賴;

?從安全角度考慮,應(yīng)用要盡量使用系統(tǒng)的庫和依賴;

?如果安裝應(yīng)用時(shí)候需要配置一些特殊的環(huán)境變量,在安裝后要還原不需要

保持的變量值;

3.dockerfile中CMD與ENTRYPOINT區(qū)別是什么?

?CMD和ENTRYPOINT指令都是用來指定容器啟動(dòng)時(shí)運(yùn)行的命令。

?指定ENTRYPOINT指令為exec模式時(shí),CMD指定的參數(shù)會(huì)作為參數(shù)

添加到ENTRYPOINT指定命令的參數(shù)列表中。

4.dockerfile中COPY和ADD區(qū)別是什么?

?COPY指令和ADD指令都可以將主機(jī)上的資源復(fù)制或加入到容器鏡像中

?區(qū)別是ADD可以從遠(yuǎn)程URL中的資源不會(huì)被解壓縮。

?如果是本地的壓縮包ADD進(jìn)去會(huì)被解壓縮

5.docker的cs架構(gòu)組件有哪些?

客戶端

4

/

/

/

/

/

RESTful

6.docker網(wǎng)絡(luò)類型有哪些?

.host模式

?container模式

?none模式

?bridge模式

7.如何配置docker遠(yuǎn)程訪問?

?vim/Iib/systemd/system/docker.service

?在ExecStart=后添加配置,注意,需要先空格后,再輸入-H

tcp://:2375-Hunix:///var/run/docker.sock

8.docker核心namespaceCGroups聯(lián)合文件系統(tǒng)功能是什么?

?namespace:資源隔離

?egroup:資源控制

?聯(lián)合文件系統(tǒng):支持對(duì)文件系統(tǒng)的修改作為一次提交來一層層的疊加,同

時(shí)可以將不同目錄掛載到同一個(gè)虛擬文件系統(tǒng)下

9.命令相關(guān):導(dǎo)入導(dǎo)出鏡像,進(jìn)入容器,設(shè)置重啟容器策略,查看鏡像環(huán)境變

量,查看容器占用資源

?導(dǎo)入鏡像dockerload-ixx.tar

?導(dǎo)出鏡像dockersave-oxx.tarimage_name

進(jìn)入容器dockerexec-it容器命令/bin/bash

設(shè)置容器重啟策略啟動(dòng)時(shí)--restart選項(xiàng)

?查看容器環(huán)境變量dockerexec{containerlD}env

?查看容器資源占用dockerstatstest2

10.構(gòu)建鏡像有哪些方式?

?dockerfile

?commit提交為鏡像

11.docker和vmware虛擬化區(qū)別?

HYPERVISOR

HOSTOPERATINGSYSTEM

INFRASTRUCTURE

APP#1APP#3

BINS/UBSBINS/LIBS

DOCKERDAEMON

HOSTOPERATINGSYSTEM

INFRASTRUCTURE

五、kubernetes

1.k8s的集群組件有哪些?功能是什么?

2.kubectl命令相關(guān):如何修改副本數(shù),如何滾動(dòng)更新和回滾,如何查看pod

的詳細(xì)信息,如何進(jìn)入pod交互?

?修改副本數(shù)kubectlscaledeploymentredis—replicas=3

?活動(dòng)更新kubectlsetimagedeploymentsmyapp-deploy

myapp=myapp:v2

?回滾kubectlrolloutundodeploymentsmyapp-deploy

?查看pod詳細(xì)信息kubectldescribepods/<pod-name>

?進(jìn)入pod交互kubectlexec-it<pod-name>-c<container-name>

bash

3.etcd數(shù)據(jù)如何備份?

?etcdctl

-endpoints="29:2379,30:23

79,28:2379"—cacert=/etc/kubernetes/cert/ca.pem

—key=/etc/etcd/cert/etcd-key.pem—cert=/etc/etcd/cert/etcd.pem

snapshotsavesnashotl.db

?Snapshotsavedatsnashotl.db

4.k8s控制器有哪些?

?副本集(ReplicaSet)

?部署(Deployment)

狀態(tài)集(StatefulSet)

Daemon集(DaemonSet)

?一次任務(wù)(Job)

?計(jì)劃任務(wù)(CronJob)

?有狀態(tài)集(StatefulSet)

5.哪些是集群級(jí)別的資源?

?Namespace

?Node

?Role

?ClusterRole

?RoleBinding

?ClusterRoleBinding

6.pod狀態(tài)有哪些?

?Pending等待中

?Running運(yùn)行1中

?Succeeded正常終止

?Failed異常停止

?Unkonwn未知狀態(tài)

7.pod創(chuàng)建過程是什么?

APIServerSchedulerKubeletDocker

:createPod4:

write

watch(ricwpod)

bindpod

T1

write

J...............

;watch(boundpod》

dockerrun〉

updatepodstatus<

write

8.pod重啟策略有哪些?

的重啟策略有種,默認(rèn)值為

Pod3Alwayso

?Always:容器失效時(shí),kubelet自動(dòng)重啟該容器;

?OnFailure:容器終止運(yùn)行且退出碼不為0時(shí)重啟;

?Never:不論狀態(tài)如何,kubelet都不重啟該容器

9.資源探針有哪些?

?ExecAction:在容器中執(zhí)行一個(gè)命令,并根據(jù)其返回的狀態(tài)碼進(jìn)行診斷

的操作稱為Exec探測(cè),狀態(tài)碼為0表示成功,否則即為不健康狀態(tài)。

?TCPSocketAction:通過與容器的某TCP端口嘗試建立連接進(jìn)行診斷,

端口能夠成功打開即為正常,否則為不健康狀態(tài)。

HTTPGetAction:通過向容器IP地址的某指定端口的指定path發(fā)起

HTTPGET請(qǐng)求進(jìn)行診斷,響應(yīng)碼為2xx或3xx時(shí)即為成功,否則為失敗。

10.requests和limits用途是什么?

?"requests"屬性定義其請(qǐng)求的確??捎弥?,即容器運(yùn)行可能用不到這些額

度的資源,但用到時(shí)必須要確保有如此多的資源可用

?"limits"屬性則用于限制資源可用的最大值,即硬限制

11.kubeconfig文件包含什么內(nèi)容,用途是什么?

包含集群參數(shù)(CA證書、APIServer地址),客戶端參數(shù)(上面生成的證書和

私鑰),集群context信息(集群名稱、用戶名)。

12.RBAC中role和clusterrole區(qū)別,rolebinding和clusterrolebinding

區(qū)別?

?Role可以定義在一個(gè)namespace中如果想要跨namespace則可以

創(chuàng)建ClusterRole,ClusterRole具有與Role相同的權(quán)限角色控制能力,

不同的是ClusterRole是集群級(jí)別的

?RoleBinding適用于某個(gè)命名空間內(nèi)授權(quán),而ClusterRoleBinding適

用于集群范圍內(nèi)的授權(quán)

13.ipvs為啥比iptables效率高?

IPVS模式與iptables同樣基于Netfilter,但是ipvs采用的hash表,iptables

采用一條條的規(guī)則列表。iptables又是為了防火墻設(shè)計(jì)的,集群數(shù)量越多

iptables規(guī)則就越多,而iptables規(guī)則是從上到下匹配,所以效率就越是低下。

因此當(dāng)service數(shù)量達(dá)到一定規(guī)模時(shí),hash查表的速度優(yōu)勢(shì)就會(huì)顯現(xiàn)出來,從

而提高service的服務(wù)性能

14.scpvpvc用途,容器掛載存儲(chǔ)整個(gè)流程是什么?

?PVC:Pod想要使用的持久化存儲(chǔ)的屬性,比如存儲(chǔ)的大小、讀寫權(quán)限

等。

,PV:具體的Volume的屬性,比如Volume的類型、掛載目錄、遠(yuǎn)程

存儲(chǔ)服務(wù)器地址等。

?Storageclass:充當(dāng)PV的模板。并且,只有同屬于一個(gè)StorageClass

的PV和PVC,才可以綁定在一起。當(dāng)然,Storageclass的另一個(gè)重要

作用,是指定PV的Provisioner(存儲(chǔ)插件)。這時(shí)候,如果你的存儲(chǔ)插

件支持DynamicProvisioning的話,Kubernetes就可以自動(dòng)為你創(chuàng)建

PV了。

Pod

15.nginxingress的原理本質(zhì)是什么?

?ngresscontroller通過和kubernetesapi交互,動(dòng)態(tài)的去感知集群中

ingress規(guī)則變化,

?然后讀取它,按照自定義的規(guī)則,規(guī)則就是寫明了哪個(gè)域名對(duì)應(yīng)哪個(gè)

service,生成一段nginx配置,

?再寫至Unginx-ingress-controller的pod里,這個(gè)Ingresscontroller

的pod里運(yùn)行著一個(gè)Nginx服務(wù),控制器會(huì)把生成的nginx配置寫入

/etc/nginx.conf文件中,

?然后reload一下使配置生效。以此達(dá)到域名分配置和動(dòng)態(tài)更新的問題。

16.描述不同node上的Pod之間的通信流程

17.k8s集群節(jié)點(diǎn)需要關(guān)機(jī)維護(hù),需要怎么操作

?進(jìn)彳亍pod馬區(qū)逐:kubeletdrain<node_name>

?檢查node上是否無pod運(yùn)行,切被驅(qū)逐的pod已經(jīng)在其他節(jié)點(diǎn)運(yùn)行正

?關(guān)機(jī)維護(hù)

?開機(jī)啟動(dòng)相關(guān)服務(wù)(注意啟動(dòng)順序)

?解除node節(jié)點(diǎn)不可調(diào)度:kubectluncordonnode

?創(chuàng)建測(cè)試pod,并使用節(jié)點(diǎn)標(biāo)簽測(cè)試節(jié)點(diǎn)可以被正常調(diào)度

18.canal和flannel區(qū)別

?Flannel(簡單、使用居多):基于Vxlan技術(shù)(疊加網(wǎng)絡(luò)+二層隧道),

不支持網(wǎng)絡(luò)策略

?Calico(較復(fù)雜,使用率少于Flannel):也可以支持隧道網(wǎng)絡(luò),但是是

三層隧道(IPIP),支持網(wǎng)絡(luò)策略

?Calico項(xiàng)目既能夠獨(dú)立地為Kubernetes集群提供網(wǎng)絡(luò)解決方案和網(wǎng)絡(luò)

策略,也能與flannel結(jié)合在一起,由flannel提供網(wǎng)絡(luò)解決方案,而Calico

此時(shí)僅用于提供網(wǎng)絡(luò)策略。

六、prometheus

1.prometheus對(duì)比zabbix有哪些優(yōu)勢(shì)?

這個(gè)大家自行百度,這里不再贅述

2.prometheus組件有哪些,功能是什么?

pullmetrics

Prome:heusServer

3.指標(biāo)類型有哪些?

?Counter(計(jì)數(shù)器)

?Guage(儀表盤)

?Histogram(直方圖)

?Summary(摘要)

4.在應(yīng)對(duì)上千節(jié)點(diǎn)監(jiān)控時(shí),如何保障性能

?降低采集頻率

?縮小歷史數(shù)據(jù)保存天數(shù),6

?使用集群聯(lián)邦和遠(yuǎn)程存儲(chǔ)

19.簡述從添加節(jié)點(diǎn)監(jiān)控到grafana成圖的整個(gè)流程

?被監(jiān)控節(jié)點(diǎn)安裝exporter

?prometheus服務(wù)端添加監(jiān)控項(xiàng)

?查看prometheusweb界面----status-----targets

?grafana創(chuàng)建圖表

20.在工作中用到了哪些exporter

?node-exporter監(jiān)控linux主機(jī)

?cAdvisor監(jiān)控容器

?MySQLDExporter監(jiān)控mysql

?BlackboxExporter網(wǎng)絡(luò)探測(cè)

?Pushgateway采集自定義指標(biāo)監(jiān)控

?processexporter進(jìn)控

七、ELK

1.Elasticsearch的數(shù)據(jù)如何備份與恢復(fù)?

這個(gè)大家自行百度,這里不再贅述

2.你們項(xiàng)目中使用的logstash過濾器插件是什么?實(shí)現(xiàn)哪些功能?

?date日期解析

?grok正則匹配解析

?overwrite寫某個(gè)字段

?dissect分隔符解析

?mutate對(duì)字段做處理

?json解析

?geoip地理位置解析

?ruby修改logstashevent

3.是否用到了filebeat的內(nèi)置module?用了哪些?

[root@localhostfilebeat-6.3.2-linux-x86_64]#Is

datafilebeat.reference.ymlLICENSE.txtmodules.d

fields.ymlfilebeat.ymllogsNOTICE.txt

filebeatkibanamoduleREADME.md

[root@localhostfilebeat-6.3.2-linux-x86_64]#cdmodule

[root@localhostmodule]#Is

apache2iismongodbosquerysystem

auditdkafkamysqlpostgresqltraefik

icingalogstashnginxredis

[root@localhostmodule]#cd../modules.d/

[root@localhostmodules.d]#Is

apache2.yml.disabledmysql.yml.disabled

auditd.yml.disablednginx.yml.disabled

icinga.yml.disabledosquery.yml.disabled

iis.yml.disabledpostgresql.yml.disabled

kafka.yml.disabledredis.yml.disabled

logstash.yml.disabledsystem.yml.disabled

mongodb.yml.disabledtraefik.yml.disabled

[root@localhostmodules.d]#1

4.elasticsearch分片副本是什么?你們配置的參數(shù)是多少?

這個(gè)大家自行百度,這里不再贅述

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論