10萬自主SUV怎麼選 工薪家庭的最愛哪些車?_台中搬家

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

0理念設計的首款SUV,造型非常的個性張揚,整體輪廓結實富有力量感,凌雲翼式的家族進氣格柵看上去很大氣端莊,層次感豐富。內飾雖然設計得比較簡單,但是很有特色,環抱式的設計搭配鋼琴烤漆面板和鍍鉻飾件,營造了很上檔次的氛圍,而六邊形的中控台和按鍵都是很有個性的設計,胎壓監測、上坡輔助、陡坡緩降、定速巡航、前排座椅加熱等配置非常豐富。

江鈴汽車-馭勝S330

指導價:8.88-14.08萬

馭勝S330外觀非常年輕時尚,車頭設計得非常穩重,誇張的大進氣格柵搭配着兩側的C型日間行車燈,給人很兇猛的感覺,車身側面的腰線強而有力,懸浮式的車頂非常炫酷,后尾燈的造型與頭燈相互呼應,非常耐看。

中控台的造型較為方正,運用了大量平直的線條,整體看上很簡潔、大氣,軟質材料包裹,鍍鉻飾件、真皮等材質處理過的中控台質感上面還是很不錯的,觸碰感應的中控區域沒有任何物理按鍵,很有科技感,無鑰匙進入/啟動、感應雨刷、自動頭燈、倒車影像等配置應有盡有。

座椅的造型比較運動,填充物的軟硬適中,乘坐感受還是挺舒適的,腿部空間很寬敞,全景天窗也是其一大亮點,後備箱大小也足夠日常使用;全系標配1.5T發動機最大功率163馬力,搭配6擋手動或者6擋手自一體變速器,動力輸出較為平順,底盤調校以舒適為主。

廣汽乘用車-傳祺GS4

指導價:9.98-15.38萬

傳祺GS4算得上是來勢洶洶的一輛SUV了,一上市的銷量就破萬,這也難怪,其外觀的自主原創度非常高,是廣汽採用光影雕塑2.0理念設計的首款SUV,

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

造型非常的個性張揚,整體輪廓結實富有力量感,凌雲翼式的家族進氣格柵看上去很大氣端莊,層次感豐富。

內飾雖然設計得比較簡單,但是很有特色,環抱式的設計搭配鋼琴烤漆面板和鍍鉻飾件,營造了很上檔次的氛圍,而六邊形的中控台和按鍵都是很有個性的設計,胎壓監測、上坡輔助、陡坡緩降、定速巡航、前排座椅加熱等配置非常豐富。

4510*1852*1708mm的車身尺寸在同級別車型中不佔優勢,但是實際空間表現還是令人滿意的,身高180cm的體驗者後排腿部空間達到兩拳,頭部空間還有一拳,1.3T發動機採用多點電噴、雙渦管渦輪增壓等技術,最大功率137馬力,已經達到部分2.0L自吸發動機的水平了,搭配7速雙離合變速器,低扭表現充足,動力輸出線性。

長城汽車-哈弗H2

指導價:8.68-12.88萬

對於哈弗的車型有人就搞不清楚了 ,紅標藍標的糾結是什麼鬼,其實這個就是哈弗產品線戰略,紅色LOGO車型側重豪華,實用;而藍色LOGO車型更加運動時尚,哈弗H2的整個風格更偏向於運動,六邊形的進氣格柵更加個性化,雙邊雙出的排氣管運動氣息濃厚。

藍標H2的內飾中控台材質用料更加講究,鍍鉻飾條、烤漆面板的合理搭配營造了很好的質感享受,真皮打孔的方向盤手感不錯,电子駐車和自動駐車是藍標全系標配,非常的厚道,自動頭燈、倒車影像、無鑰匙進入/啟動、胎壓監測等配置一應俱全。

雙色拼接的座椅看起來很時尚,2560mm軸距帶來的空間感受中規中矩,儲物空間也比較豐富,滿足日常使用,動力是大家熟悉的1.5T發動機最大功率150馬力,搭配6擋手動或者6擋手自一體變速箱,動力強勁,加速很線性,前後獨立懸挂的組合兼顧操控以及舒適性。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

Apple 準備好了?爆料者披露該公司預計將在三月推出有 12 核心的新 Mac_台中搬家

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

Apple 透過 M1 這顆整合了自家技術實力在內的新處理器,向世界宣示要讓 Mac 從此走入採用自製處理器的新里程碑。不過光是 M1 的效能強悍還不夠,很多在電腦效能上需求更高的用戶仍然不夠滿意。畢竟先不說效能上還有許多相容問題需要克服,M1 畢竟是針對筆電使用情境而生的省電型處理器。Apple 還缺乏一顆夠強的桌上型電腦用的處理器。有爆料者就稱,Apple 很快會推出 Apple Silicon 的第二顆處理器,而且這個處理器將具有 12 核心:

▲(圖片來源)

M1 的威力很多人都領教到了。雖然這個打頭陣的先鋒在玩家眼中仍然有許多進步空間,例如軟體相容性之類的問題。但 Apple 確實讓 M1 收穫了許多用戶的心。一個效能上打旗艦處理器,節能又打擊許多超低電壓處理器的新鮮玩意,即便有許多缺點存在,仍然讓許多用戶痴迷不已。

M1 後繼處理器將具備 12 核心,可能在三月問世

不過,M1 的後繼者會不會有更好的表現,並且要等待多久才會推出,這些都是很多焦急的高階用戶關心的地方。要知道 M1 效能雖強,但對於重度應用來說仍有所不足之處。用戶仍然希望 Apple 盡快把更快的處理器生產出來,應用在新 Mac 上。

一位 Twitter 用戶 LeaksApplePro 就挖掘了一條關於新處理器的八卦出來。,表示 Apple 將在三月推出新的處理器,這顆處理器目前型號不明,按照過去慣例,可能叫做 M1X 或 M2。除此之外更爆料新處理器具備更多的 12 核心。如果架構相近甚至幾乎一樣的話,更多的核心理所當然的效能會更高。若是全新架構,那麼處理器蘊藏的潛能恐怕要比現在的 M1 更強更快也說不定:

▲(翻攝自Twitter)

這顆處理器會應用在哪裡呢?根據名分析師郭明錤的推測,新的 Macbook Pro 將於 2021 年第二季問世,除了是重新設計的外觀外,還具備 14 與 16 兩種螢幕尺寸的版本。如此看來,這個 12 核心的新處理器或許就在新的 Macbook Pro 上推出。但也有玩家認為,Apple 至今尚未推出 Apple Silicon 版的 iMac 電腦,或許下次看到新 iMac 或 iMac Pro 電腦發表時,就是搭載新處理器的時候:

▲(圖片來源)

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

不過,關於桌上型電腦的部分,Apple 具傳正在開發採用 5nm 製程的 A14T 晶片來應用在桌機上。由於桌機不似筆電那樣需要續航力的部分,或許這顆 A14T 才會是新 iMac 所採用的處理器。但 A14T 與這個謠傳 12 核心的新處理器是不是同一個,則要看 Apple 官方公布時給出的資訊是哪一個啦。

消息來源:LeaksApplePro、wccftech

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

小米 10i 5G 印度發表:搭載高通 750G 5G 處理器、1.08 億像素主相機、 120Hz更新率螢幕與 4820mAh 大電量_台中搬家

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

小米在中國、印度以及其他海外市場,經常會有些手機以不同名稱在當地推出,像是昨(5)日才剛於印度發表的「小米 10i 5G」就是很好的例子。昨天小米在印度發表小米 10i 5G 這款新機,眼尖的人或許會發現他有些眼熟,因為它其實就是去年小米在中國推出的 Redmi Note 9 Pro 更名上市新機。

小米 10i 5G 印度發表:搭載高通 750G 5G 處理器、1.08 億像素主相機、 120Hz更新率螢幕與 4820mAh 大電量

去年印度率先發表 Redmi Note 9 Pro ,隨後在中國也推出了 Redmi Note 9 Pro 但在外觀、規格皆與印度版本不同。近日小米於印度發表「小米 10i 5G」新機,也就是中國版的 Redmi Note 9 Pro 。
硬體規格方面,小米 10i 5G 搭載 Qualcomm Snapdragon 750G 5G 處理器、配備最高 8GB LPDDR4X RAM、256GB UFS2.2 ROM :

相機方面,小米 10i 5G 配備 1.08 億像素四鏡頭主相機,鏡頭依序為 1.08 億像素標準鏡頭(Samsung ISOCELL HM2 感光元件)、800 萬像素 120° 超廣角鏡頭、200 萬像素微距鏡頭以及 200 萬像素景深鏡頭,前置鏡頭則配被 1600 萬像素自拍相機。

小米 10i 5G 採用 6.67 吋 FHD+ 解析度螢幕,螢幕具備 120Hz 更新率、240Hz 觸控採樣率,顯示支持 HDR10 格式。此外,螢幕採用康寧第五代大猩猩玻璃保護,小米 10i 5G 也具備 IP53 防潑水等級。

電量方面,小米 10i 5G 內建 4820mAh 大電量電池,支持 33W 功率的有線快充能在 58 分鐘為小米 10i 充電至 100% :

其他方面,小米 10i 5G 亦具備 NFC、保留 3.5mm 耳機孔以及採用側邊指紋辨識器進行指紋辨識解鎖。顏色方面,小米 10i 5G 在印度推出 Midnight Black(午夜黑)、Atlantic Blue(大西洋藍)以及帶有漸層色的 Pacific Sunrise(太平洋日出)等三種配色選擇。

小米 10i 5G 在印度共推出三個版本,價格依序為 6GB+64GB 版本售價 23,999  印度盧比(約合新台幣 9,153 元)、8GB+128GB 版本售價 24,999 印度盧比(約合新台幣 9,534 元)、8GB+256GB 版本售價 27,999 印度盧比(約合新台幣 10,678 元),在當地使用特定銀行卡可享 2,000 印度盧比的折扣。

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

圖片/消息來源:Mi India

延伸閱讀:
Redmi K40 Pro 最新渲染圖曝光:可能是最便宜的 S888 旗艦 5G 手機之一

疑似 OPPO Find X3 安兔兔跑分曝光,搭載高通 S888 旗艦處理器測出 77.1 萬分刷新最高分紀錄

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

MySql輕鬆入門系列——第一站 從源碼角度輕鬆認識mysql整體框架圖_台中搬家

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

一:背景

1. 講故事

最近看各大技術社區,不管是知乎,掘金,博客園,csdn基本上看不到有小夥伴分享sqlserver類的文章,看來在國內大環境下是不怎麼流行了,看樣子我再寫sqlserver是不可能再寫了,這輩子都不會寫了,只能靠技術輸出mysql維持生活這樣子。

二:了解架構圖

mysql最大的好處就是開源, 手握百萬源碼,有什麼問題搞不定呢? 這一點要比sqlserver爽多了,不用再dbcc搗來搗去。

1. 從架構圖入手

大家都知道做/裝修房子都要有一張圖紙,其實軟件也是一樣,只要有了這麼一張圖紙,大方向就定下來了,再深入到細節也不會亂了方向,然後給大家看一下我自己畫的架構圖,畫的不對請輕拍。

其實SqlServer,Oracle,MySql架構都大同小異,MySql的鮮明特點就是存儲引擎做成了插拔式,這就牛逼了,現行最常用的是InnoDB,這就讓我有了一個想法,有一套業務準備用 InMemory 模式跑一下,厲害了~~~

2. 功能點介紹

MySql其實就兩大塊,一塊是MySql Server層,一塊就是Storage Engines層。

<1> Client

不同語言的sdk遵守mysql協議就可以與mysqld進行互通。

<2> Connection/Thread Pool

MySql使用C++編寫,Connection是非常寶貴的,在初始化的時候維護一個池。

<3> SqlInterface,Parse,Optimizer,Cache

對sql處理,解析,優化,緩存等處理和過濾模塊,了解了解即可。

<4> Storage Engines

負責存儲的模塊,官方,第三方,甚至是你自己都可以自定義實現這個數據存儲,這就把生態做起來了,。

三: 源碼分析

關於怎麼去下載mysql源碼,這裏就不說了,大家自己去官網搗鼓搗鼓哈,本系列使用經典的 mysql 5.7.14版本。

1. 了解mysql是如何啟動監聽的

手握百萬行源碼,怎麼找入口函數呢??? ,其實很簡單,在mysqld進程上生成一個dump文件,然後看它的託管堆不就好啦。。。

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

從圖中可以看到,入口函數就是 mysqld!mysqld_main+0x227 中的 mysqld_main, 接下來就可以在源碼中全文檢索下。

<1> mysqld_main 入口函數 => sql/main.cc


extern int mysqld_main(int argc, char **argv);

int main(int argc, char **argv)
{
  return mysqld_main(argc, argv);
}

這裏大家可以用visualstudio打開C++源碼,使用查看定義功能,非常好用。

<2> 創建監聽


int mysqld_main(int argc, char **argv)
{
    //創建服務監聽線程
    handle_connections_sockets();
}

void handle_connections_sockets()
{
     //監聽連接
     new_sock= mysql_socket_accept(key_socket_client_connection, sock,
                                    (struct sockaddr *)(&cAddr), &length);

    if (mysql_socket_getfd(sock) == mysql_socket_getfd(unix_sock))
      thd->security_ctx->set_host((char*) my_localhost);

    //創建連接
    create_new_thread(thd);
}

//創建新線程處理處理用戶連接
static void create_new_thread(THD *thd){
   
   thd->thread_id= thd->variables.pseudo_thread_id= thread_id++;
   
   //線程進了線程調度器
   MYSQL_CALLBACK(thread_scheduler, add_connection, (thd));   
}

至此mysql就開啟了一個線程對 3306 端口進行監控,等待客戶端請求觸發 add_connection 回調。

2. 理解mysql是如何處理sql請求

這裏我以Insert操作為例稍微解剖下處理流程:

當用戶有請求sql過來之後,就會觸發 thread_scheduler的回調函數add_connection


static scheduler_functions one_thread_per_connection_scheduler_functions=
{
  0,                                     // max_threads
  NULL,                                  // init
  init_new_connection_handler_thread,    // init_new_connection_thread
  create_thread_to_handle_connection,    // add_connection
  NULL,                                  // thd_wait_begin
  NULL,                                  // thd_wait_end
  NULL,                                  // post_kill_notification
  one_thread_per_connection_end,         // end_thread
  NULL,                                  // end
};

scheduler_functions 中可以看到,add_connection 對應了 create_thread_to_handle_connection,也就是請求來了會觸發這個函數,從名字也可以看出,用一個線程處理一個用戶連接。

<1> 客戶端請求被 create_thread_to_handle_connection 接管及調用棧追蹤


void create_thread_to_handle_connection(THD *thd)
{
     if ((error= mysql_thread_create(key_thread_one_connection, &thd->real_id, &connection_attrib,
                                     handle_one_connection,(void*) thd))){}
}
//觸發回調函數  handle_one_connection
pthread_handler_t handle_one_connection(void *arg)
{
     do_handle_one_connection(thd);
}
//繼續處理
void do_handle_one_connection(THD *thd_arg){
    while (thd_is_connection_alive(thd))
    {
      mysql_audit_release(thd);
      if (do_command(thd))  break;  //這裏的 do_command 繼續處理
    }
}
//繼續分發
bool do_command(THD *thd)
{
    return_value= dispatch_command(command, thd, packet+1, (uint) (packet_length-1));
}
bool dispatch_command(enum enum_server_command command, THD *thd, char* packet, uint packet_length)
{
      switch (command) {
         case COM_INIT_DB: ....  break;
         ...
         case COM_QUERY:   //查詢語句:  insert xxxx
             mysql_parse(thd, thd->query(), thd->query_length(), &parser_state);  //sql解析
           break;
      }
}
//sql解析模塊
void mysql_parse(THD *thd, char *rawbuf, uint length, Parser_state *parser_state)
{
      error= mysql_execute_command(thd);
}

<2> 到這裏它的Parse,Optimizer,Cache都追完了,接下來看sql的CURD類型,繼續追。。。


//繼續執行
int mysql_execute_command(THD *thd)
{
  switch (lex->sql_command) 
  {
      case SQLCOM_SELECT:  res= execute_sqlcom_select(thd, all_tables);  break;

      //這個 insert 就是我要追的
      case SQLCOM_INSERT:   res= mysql_insert(thd, all_tables, lex->field_list, lex->many_values,
		                                      lex->update_list, lex->value_list,
                                              lex->duplicates, lex->ignore);
  }
}
//insert插入操作處理
bool mysql_insert(THD *thd,TABLE_LIST *table_list,List<Item> &fields, List<List_item> &values_list,
                  List<Item> &update_fields, List<Item> &update_values, 
                  enum_duplicates duplic, bool ignore)
{
      while ((values= its++))
      {
           error= write_record(thd, table, &info, &update);
      }
}
//寫入記錄
int write_record(THD *thd, TABLE *table, COPY_INFO *info, COPY_INFO *update)
{
    if (duplicate_handling == DUP_REPLACE || duplicate_handling == DUP_UPDATE)
    {
         // ha_write_row  重點是這個函數
         while ((error=table->file->ha_write_row(table->record[0])))
         {
             ....
         }
    }
}

可以看到,調用鏈還是挺深的,追到 ha_write_row 方法基本上算是追到頭了,再往下的話就是 MySql ServerStorage Engine提供的接口實現了,不信的話繼續看唄。。。

<3> 繼續挖 ha_write_row


int handler::ha_write_row(uchar *buf)
{
    MYSQL_TABLE_IO_WAIT(m_psi, PSI_TABLE_WRITE_ROW, MAX_KEY, 0,{ error= write_row(buf); })
}

//這是一個虛方法
virtual int write_row(uchar *buf __attribute__((unused)))
{
    return HA_ERR_WRONG_COMMAND;
}

看到沒有,write_row是個虛方法,也就是給底層方法實現的,在這裏就是給各大Storage Engines的哈。

3. 調用鏈圖

這麼多方法,看起來有點懵懵的吧,我來畫一張圖,幫助大家理解下這個調用堆棧。

三:總結

大家一定要熟讀架構圖,有了架構圖從源碼中找信息就方便多了,總之學習mysql成就感還是滿滿的。

如您有更多問題與我互動,掃描下方進來吧~

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

我只不過想買個車 為什麼給人家看羞羞的圖…_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

—完結—下一期再與你們一起調侃汽車廣告的幽默如果有什麼關於汽車有趣的事情歡迎在下面留言評論。

—完結—

下一期再與你們一起調侃汽車廣告的幽默

如果有什麼關於汽車有趣的事情歡迎在下面留言評論本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

國際原能總署:伊朗持續增產濃縮鈾 庫存高於限制5倍_台中搬家

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

摘錄自2020年6月8日自由時報報導

國際原子能總署(IAEA)表示,伊朗仍持續增加濃縮鈾的庫存,超過2015年協議規範的5倍,且濃度也仍高於限制。

綜合外媒報導,根據伊朗2015年與美國、英國、法國、德國、俄羅斯和中國簽署的聯合全面行動計畫(JCPOA)中規定,伊朗只能持有上限300公斤的濃縮鈾,且濃度不能超過3.67%。自美國2018年退出協議後,各國越來越難要求伊朗遵守協議規範。

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

在國際原子能總署給成員國的報告中表示,截至5月20日,伊朗持有1571.6公斤的濃縮鈾,高於2月19日的1020.9公斤,且濃度維持在4.5%。報告指出,四個多月以來,伊朗政府不斷在阻止IAEA人員檢查兩個可疑地點。

據悉,國際原子能總署預計將在6月中旬針對報告中的調查結果進行討論。

能源議題
能源轉型
國際新聞
伊朗
國際原能總署
濃縮鈾

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

kubeadm實現k8s高可用集群環境部署與配置_台中搬家

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

高可用架構

k8s集群的高可用實際是k8s各核心組件高可用,這裏使用主備模式,架構如下:

主備模式高可用架構說明:

核心組件 高可用模式 高可用實現方式
apiserver 主備 keepalived
controller-manager 主備 leader election
scheduler 主備 leader election
etcd 集群 kubeadm
  • apiserver 通過keepalived實現高可用,當某個節點故障時觸發keepalived vip 轉移;
  • controller-manager k8s內部通過選舉方式產生領導者(由–leader-elect 選型控制,默認為true),同一時刻集群內只有一個controller-manager組件運行;
  • scheduler k8s內部通過選舉方式產生領導者(由–leader-elect 選型控制,默認為true),同一時刻集群內只有一個scheduler組件運行;
  • etcd 通過運行kubeadm方式自動創建集群來實現高可用,部署的節點數為奇數,3節點方式最多容忍一台機器宕機。

部署環境

k8s版本

kubelet version kubeadm version kubectl version
v1.15.1 v1.15.1 v1.15.1

主機配置

Centos版本 系統內核 docker version flannel version Keepalived version
7.8.2003 4.4.223 19.03.9 v0.11.0 v1.3.5

主機列表

主機名 ip 主機配置 備註
master01 192.168.213.181 4U4G control plane
master02 192.168.213.182 4U4G control plane
master03 192.168.213.183 4U4G control plane
node01 192.168.213.192 2U2G node
node02 192.168.213.192 2U2G node
VIP 192.168.213.200 4U4G 在control plane上浮動

私有倉庫

主機名 ip 主機配置 備註
docker-registry 192.168.213.129 2U1G reg.zhao.com

其他準備

系統初始化,docker安裝,k8s(kubelet、kubeadm和kubectl)安裝省略

  • kubelet 運行在集群所有節點上,用於啟動Pod和容器
  • kubeadm 用於初始化集群,啟動集群
  • kubectl 用於和集群通信,部署和管理應用,查看各種資源,創建、刪除和更新各種組件

啟動kubelet並設置開機啟動 systemctl enable kubelet && systemctl start kubelet

keepalived安裝

在所有master節點上安裝

安裝keepalived

[root@master01 ~]# yum -y install keepalived

keepalived配置

master01

[root@master01 ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs {
   router_id master01
}
vrrp_instance VI_1 {
    state MASTER 
    interface ens33
    virtual_router_id 50
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.213.200
    }
}

master02

[root@master02 ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs {
   router_id master02
}
vrrp_instance VI_1 {
    state BACKUP 
    interface ens33
    virtual_router_id 50
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.213.200
    }
}

master03

[root@master03 ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs {
   router_id master03
}
vrrp_instance VI_1 {
    state BACKUP 
    interface ens33
    virtual_router_id 50
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.213.200
    }
}

啟動keepalived並設置開機啟動

[root@master01 ~]# systemctl start keepalived
[root@master01 ~]# systemctl enable keepalived

VIP查看

配置master節點

初始化master01節點

master01初始化

#初始化的配置文件
[root@master01 ~]# cat kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.15.1
apiServer:
  certSANs:		##填寫所有kube-apiserver節點的hostname、IP、VIP
  - master01
  - master02
  - master03
  - node01
  - node02
  - 192.168.213.181
  - 192.168.213.182
  - 192.168.213.183
  - 192.168.213.191
  - 192.168.213.192
  - 192.168.213.200
controlPlaneEndpoint: "192.168.213.200:6443"
networking:
  podSubnet: "10.244.0.0/16"
[root@master01 ~]# kubeadm init --config=kubeadm-config.yaml|tee kubeadim-init.log

記錄kubeadm join的輸出,後面需要這個命令將備master節點和node節點加入集群中

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.213.200:6443 --token ebx4uz.9y3twsnoj9yoscoo \
    --discovery-token-ca-cert-hash sha256:1bc280548259dd8f1ac53d75e918a8ec99c234b13f4fe18a71435bbbe8cb26f3

加載環境變量

[root@master01 ~]# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
[root@master01 ~]# source .bash_profile

安裝flannel網絡

[root@master01 ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml

備master節點加入集群

配置免密登錄

配置master01到master02、master03免密登錄

#創建秘鑰
[root@master01 ~]# ssh-keygen -t rsa
#將秘鑰同步至master02,master03
[root@master01 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.213.182
[root@master01 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.213.183
#免密登陸測試
[root@master01 ~]# ssh master02
[root@master01 ~]# ssh 192.168.213.183

master01分發證書

在master01上運行腳本cert-main-master.sh,將證書分發至master02和master03

[root@master01 ~]# cat cert-main-master.sh
USER=root # customizable
CONTROL_PLANE_IPS="192.168.213.182 192.168.213.183"
for host in ${CONTROL_PLANE_IPS}; do
    scp /etc/kubernetes/pki/ca.crt "${USER}"@$host:
    scp /etc/kubernetes/pki/ca.key "${USER}"@$host:
    scp /etc/kubernetes/pki/sa.key "${USER}"@$host:
    scp /etc/kubernetes/pki/sa.pub "${USER}"@$host:
    scp /etc/kubernetes/pki/front-proxy-ca.crt "${USER}"@$host:
    scp /etc/kubernetes/pki/front-proxy-ca.key "${USER}"@$host:
    scp /etc/kubernetes/pki/etcd/ca.crt "${USER}"@$host:etcd-ca.crt
    # Quote this line if you are using external etcd
    scp /etc/kubernetes/pki/etcd/ca.key "${USER}"@$host:etcd-ca.key
done
[root@master01 ~]# ./cert-main-master.sh

備master節點移動證書至指定目錄

在master02,master03上運行腳本cert-other-master.sh,將證書移至指定目錄

[root@master02 ~]# cat cert-other-master.sh
USER=root # customizable
mkdir -p /etc/kubernetes/pki/etcd
mv /${USER}/ca.crt /etc/kubernetes/pki/
mv /${USER}/ca.key /etc/kubernetes/pki/
mv /${USER}/sa.pub /etc/kubernetes/pki/
mv /${USER}/sa.key /etc/kubernetes/pki/
mv /${USER}/front-proxy-ca.crt /etc/kubernetes/pki/
mv /${USER}/front-proxy-ca.key /etc/kubernetes/pki/
mv /${USER}/etcd-ca.crt /etc/kubernetes/pki/etcd/ca.crt
# Quote this line if you are using external etcd
mv /${USER}/etcd-ca.key /etc/kubernetes/pki/etcd/ca.key
[root@master02 ~]# ./cert-other-master.sh 

備master節點加入集群

在master02和master03節點上運行加入集群的命令

kubeadm join 192.168.213.200:6443 --token ebx4uz.9y3twsnoj9yoscoo \
    --discovery-token-ca-cert-hash sha256:1bc280548259dd8f1ac53d75e918a8ec99c234b13f4fe18a71435bbbe8cb26f3

備master節點加載環境變量

此步驟是為了在備master節點上也能執行kubectl命令

scp master01:/etc/kubernetes/admin.conf /etc/kubernetes/
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source .bash_profile

node節點加入集群

加入集群

在node節點運行初始化master生成的加入集群的命令

kubeadm join 192.168.213.200:6443 --token ebx4uz.9y3twsnoj9yoscoo \
    --discovery-token-ca-cert-hash sha256:1bc280548259dd8f1ac53d75e918a8ec99c234b13f4fe18a71435bbbe8cb26f3

集群節點查看

[root@master01 ~]# kubectl get nodes
[root@master01 ~]# kubectl get pod -o wide -n kube-system 

所有control plane節點處於ready狀態,所有的系統組件也正常

對接私有倉庫

私有倉庫配置省略,在所有節點上執行以下步驟

修改daemon.json

[root@master01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.213.181 master01
192.168.213.182 master02
192.168.213.183 master03
192.168.213.191 node01
192.168.213.192 node02
192.168.213.129 reg.zhao.com
[root@master01 ~]# cat /etc/docker/daemon.json
{
    "registry-mirrors": ["https://sopn42m9.mirror.aliyuncs.com"],
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
        "log-opts": {
            "max-size": "100m"
        },
    "insecure-registries": ["https://reg.zhao.com"]
}
[root@master01 ~]# systemctl daemon-reload
[root@master01 ~]# systemctl restart docker

創建認證secret

使用Kuberctl創建docker register認證secret

[root@master01 ~]# kubectl create secret docker-registry myregistrykey --docker-server=https://reg.zhao.com --docker-username=admin --docker-password=Harbor12345 --docker-email=""
secret/myregistrykey created
[root@master02 ~]# kubectl get secrets
NAME                  TYPE                                  DATA   AGE
default-token-6mrjd   kubernetes.io/service-account-token   3      18h
myregistrykey         kubernetes.io/dockerconfigjson        1      19s

在創建Pod的時通過imagePullSecret引用myregistrykey

imagePullSecrets:
  - name: myregistrykey

集群功能測試

測試私有倉庫

[root@master02 ~]# cat test_sc.yaml
apiVersion: v1
kind: Pod
metadata:
  name: foo
spec:
  containers:
    - name: foo
      image: reg.zhao.com/zhao/myapp:v1.0
#  imagePullSecrets:
#    - name: myregistrykey

打開註釋,應用密鑰,可以拉取到鏡像

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

測試集群高可用

測試master節點高可用

通過ip查看apiserver所在節點,通過leader-elect查看scheduler和controller-manager所在節點

[root@master01 ~]# ip a|grep ens33
[root@master01 ~]# kubectl get endpoints kube-scheduler -n kube-system -o yaml |grep holderIdentity
[root@master01 ~]# kubectl get endpoints kube-controller-manager -n kube-system -o yaml |grep holderIdentity

組件名 所在節點
apiserver master01
controller-manager master01
scheduler master01

關閉master01,模擬宕機,master01狀態為NotReady

[root@master01 ~]# init 0

VIP飄到了master02,controller-manager和scheduler也發生了遷移

組件名 所在節點
apiserver master02
controller-manager master03
scheduler master02

測試node節點高可用

K8S 的pod-eviction在某些場景下如節點 NotReady,資源不足時,會把 pod 驅逐至其它節點

Kube-controller-manager 周期性檢查節點狀態,每當節點狀態為 NotReady,並且超出 pod-eviction-timeout 時間后,就把該節點上的 pod 全部驅逐到其它節點,其中具體驅逐速度還受驅逐速度參數,集群大小等的影響。最常用的 2 個參數如下:
pod-eviction-timeout:NotReady 狀態節點超過該時間后,執行驅逐,默認 5 min
node-eviction-rate:驅逐速度,默認為 0.1 pod/秒

創建pod,維持副本數3

[root@master02 ~]# cat myapp_deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deploy
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
      release: stabel
  template:
    metadata:
      labels:
        app: myapp
        release: stabel
        env: test
    spec:
      containers:
      - name: myapp
        image: library/nginx
        imagePullPolicy: IfNotPresent
        ports:
        - name: http
          containerPort: 80

可以看到pod分佈在node01和node02節點上
關閉node02,模擬宕機,node02狀態為NotReady
可以看到 NotReady 狀態節點超過指定時間后,pod被驅逐到 Ready 的節點上,deployment維持運行3個副本

問題

初始化master節點失敗

如果初始化失敗,可執行kubeadm reset后重新初始化

[root@master01 ~]# kubeadm reset
#非root用戶還須執行rm -rf $HOME/.kube/config

flanne文件下載失敗

方法一:可以直接下載kube-flannel.yml文件,然後再執行apply
方法二:配置域名解析
在https://site.ip138.com查詢服務器IP
echo "151.101.76.133 raw.Githubusercontent.com" >>/etc/hosts

節點狀態NotReady

在節點機器上執行journalctl -f -u kubelet查看kubelet的輸出日誌信息如下:

Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

出現這個錯誤的原因是網絡插件沒有準備好,在節點上執行命令 docker images|grep flannel 查看flannel鏡像是否已經成功拉取,這個花費的時間可能會很長

如果很長時間仍然沒有拉下來flannel鏡像,可以使用如下方法解決

docker save把主節點上的flannel鏡像保存為壓縮文件(或在官方倉庫https://github.com/coreos/flannel/releases下載鏡像傳到主機上,要注意版本對應),在節點機器上執行docker load加載鏡像

[root@master02 ~]# docker save -o my_flannel.tar quay.io/coreos/flannel:v0.11.0-amd64
[root@master02 ~]# scp my_flannel.tar node01:/root
[root@node01 ~]# docker load < my_flannel.tar

unexpected token `$’do\r”

shell,運行出錯:syntax error near unexpected token `$’do\r”

原因:Linux和windows下的回車換行符不兼容

解決方法:將windows下面的CR LF,轉換為Linux下面的LF
用notepad++打開文件,編輯->檔案格式轉換->轉換為UNIX格式->保存即可

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

20多萬的車給你50萬的配置!而且這些車相當有面子_台中搬家

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

內飾依然是主打的簡約商務風格,仿木紋面板,鋼琴烤漆面板,石英鐘等裝飾件使質感大大的提升了,貫穿式的空調出風口設計誇張大膽,使整个中控台更有層次感,最具亮點的就是全液晶的儀錶盤了,中間位置多達10種界面可觀查看,丹拿音響、車道偏離系統、感應後備箱等配置非常豐富。

那就需要一個舒適性很好的座椅了,說起座椅,不少人都想起什麼真皮打孔啊,座椅記憶、座椅加熱/通風等功能已經是很不錯了,現在座椅按摩這個高逼格的配置也應用在不少中型車上了,想象一下享受着座椅按摩,打開自適應巡航,多麼舒適愜意,下面來隨小編一起來看一下都配備座椅按摩功能的車型吧!

原理很簡單了,一般低端點的車型是靠座椅裏面的電機來執行按摩的,而高端一點的車型則是靠着氣墊的充氣放氣來達到一個按摩的效果。

上汽通用別克-君越

指導價:22.58-33.98萬

君越在外觀上比老款更加銳利,經典的直瀑式進氣格柵搭配着飛翼式鍍鉻裝飾條,令前臉看上去非常有活力,而且全系標配了主動式進氣格柵,在冬天能迅速的提升水溫,微微上翹的鴨尾式設計尾部很動感流暢,在造型別緻的尾燈襯托下,透露出低調奢華的氣息。

君越環抱式的座艙設計給人很足的安全感,在視覺上給人很寬敞的感覺,木紋飾板和鍍鉻飾條的合理搭配簡單而不失豪華,非常上檔次,常規儀錶+液晶屏的組合依然很方便醒目,自適應遠近光、自動泊車、主動安全系統、HUD抬頭显示等高科技配置一應俱全。

君威的長*寬*高分別為5018*1866*1459mm,軸距達到2905mm,達到了中大型車的水準,乘坐空間上面不必擔憂了,儲物空間數量上也是比較多的,動力系統方面提供了1.5T+7速雙離合/2.0T+6擋手自一體的組合,由於車身減重了很多,加上渦輪介入的轉速較早,動力輸出很線性,提速很流暢平順。

一汽-大眾-邁騰

指導價:18.99-31.69萬

新邁騰相比於老款不再有那麼濃厚的商務氣息了,車燈、中網等整體造型變得更加扁平,貫穿車身的腰線從前翼子板一直延伸到尾燈,

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

流暢而富有激情,全LED的尾燈造型也是十分別緻,飽滿而層次感豐富,四邊形的排氣管設計動感時尚,整車給人成熟穩重的感覺。

內飾依然是主打的簡約商務風格,仿木紋面板,鋼琴烤漆面板,石英鐘等裝飾件使質感大大的提升了,貫穿式的空調出風口設計誇張大膽,使整个中控台更有層次感,最具亮點的就是全液晶的儀錶盤了,中間位置多達10種界面可觀查看,丹拿音響、車道偏離系統、感應後備箱等配置非常豐富。

邁騰的長*寬*高分別為4866*1832*1464mm,軸距達到2871mm,屬於中規中矩的類型,後排可獨立控制空調並配備了220V插口和USB充電口,非常貼心,可摺疊後排頭枕舒適性強,動力系統提供很豐富的選擇,1.4T/1.8T/2.0T+6擋雙離合/7擋雙離合,2.0T發動機動力表現十分出色,隨叫隨到,推背感強烈,懸挂硬朗中帶着韌性,兼顧舒適和操控性。

長安福特-金牛座

指導價:23.38-36.98萬

作為福特品牌旗下的高端旗艦車型,金牛座有着直逼奧迪A6L等C級車的車身尺寸和應該有的強大氣場,前臉採用了經典的大嘴型進氣格柵設計,配合修長的大燈,給人很兇猛的感覺,硬朗有力的腰線令車身側面變得更加協調,表現得更為穩重了。

內飾主打是黑色的主色調配以木紋飾板的點綴,襯托出端莊典雅的氛圍,簡約明了的功能分區布局彰顯了大氣商務的氣息,上乘的內飾用料和嚴謹的裝配工藝,至少視覺上是給人很舒服的感覺,自動駐車、方向盤換擋、前後排座椅加熱/通風/按摩、SONY音響等配置很豐富。

金牛座的後排簡直可以用奢華來形容了,貨真價實的老闆座,獨立空調、座椅按摩、多媒體控制等配置基本齊全,2949mm的軸距帶來了寬敞的乘坐空間,動力方面提供1.5T/2.0T/2.7T的選擇,均搭配6擋手自一體變速箱,日常駕駛中底盤的厚重感較強,動力輸出很平順。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

英國石油預測:全球石油需求2019年封頂、2040年降50%_台中搬家

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

環境資訊中心綜合外電;姜唯 編譯;林大利 審校

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

OPEC+延長歷史性石油減產協議 墨西哥拒跟進_台中搬家

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

摘錄自2020年06月07日中央社報導

法新社報導,石油輸出國家組織(OPEC)以及主要盟友(OPEC+)今(6日)同意,把原本在5月與6月實施的石油減產協議延長至7月底。不過墨西哥拒絕跟進。

墨西哥能源部長賈西亞(Rocio Nahle Garcia)在視察韋拉克魯斯州(Veracruz)一座石化工廠時告訴記者,墨國不會配合。

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

在4月的協議之下,OPEC+國家承諾從5月1日起到6月底止,每天減產970萬桶石油,接下來從7月開始到12月底,減產幅度則會逐步縮減至每日770萬桶。

能源議題
能源轉型
國際新聞
OPEC
石油減產
石油

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家