国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Kubernetes 嘗鮮

ashe / 1271人閱讀

摘要:是谷歌官方根據自己容器經驗開源的產品。當然,這不可能是,而且它的底層是替換成了,但是這不能掩蓋它解決的問題。因此筆者決定嘗試玩玩。不然啟動會報錯。

背景

容器技術在目前很火,而且確確實實的解決了很多的痛點,但是如果只使用目前 Docker 官方提供的 engine+compose+swarm 方案,是很難再實際生產中使用的。Kubernetes 是谷歌官方根據自己容器經驗 Borg 開源的產品。當然,這不可能是 Borg,而且它的底層是替換成了 Docker,但是這不能掩蓋它解決的問題。因此筆者決定嘗試玩玩。

架構

根據官方文檔的說明,Kubernetes 是使用 golang 寫成,并且依賴 coreos/etcd 和 docker/docker 產品,Kubernetes 實際上是個分布式的 master-slave 架構,主要有以下組件 api-server、controller-manager、scheduler、proxy、kubelet,前面三個分別是 API 接口服務器、管理控制器、調度器,而后面兩個則是網絡派發代理和實際和 Docker 溝通的 agent。

部署

官方給出的下載安裝文檔簡直簡略的不能再簡略了,而使用 yum 等包管理工具安裝目前只能安裝 2.x 版本最新而沒有 3.x 的預編譯包,不過沒關系,我們可以直接下載預編譯安裝包。

etcd

etcd 是 coreos 為了進行分布式部署所做的鍵值存儲服務,Github release 上面可以直接下載到最新的預編譯包然后把其中的兩個二進制文件扔到 /usr/local/bin 目錄下就 ok 了。
至于配置文件和 systemd 單元文件也很簡單,官方 github 上面已經提供了 systemd 啟動文件,首先是添加一個名為 etcd 的系統用戶(注意:是 daemon 用戶,別加上亂七八糟的東西)

[Unit]
Description=etcd key-value store
Documentation=https://github.com/coreos/etcd

[Service]
User=etcd
Type=notify
Environment=ETCD_DATA_DIR=/var/lib/etcd
Environment=ETCD_NAME=%m
ExecStart=/usr/bin/etcd
Restart=always
RestartSec=10s
LimitNOFILE=40000

[Install]
WantedBy=multi-user.target

而 etcd 實際上是使用環境變量作為配置的,具體可以參考 etcd 的 github 文檔,這里提供筆者的單元文件

[Unit]
Description=etcd key-value store
Documentation=https://github.com/coreos/etcd

[Service]
User=etcd
Type=notify
WorkingDirectory=/usr/local/var/lib/etcd
ExecStart=/usr/local/bin/etcd
Restart=on-failure
RestartSec=10s
LimitNOFILE=40000

[Install]
WantedBy=multi-user.target

直接把工作目錄指定到 /usr/local/var/lib/etcd,這樣默認情況下所有的數據文件都會存放在 default.etcd 文件夾下,不過注意這個目錄需要手工創建并且制定合適的權限。不然 systemd 啟動會報錯。然后把啟動文件放到 /etc/systemd/system/etcd.service
如果說具體的配置需要配,則應當再指定 EnvironmentFile=/path/to 指定一個環境變量文件,所有的配置都通過環境變量配置。

Docker

基本思路跟上面一個樣,先下載二進制包,把二進制文件放到 /usr/local/bin 目錄下,然后就是 systemd 單元文件,官方也在 Github 上提供了單元文件,直接拿下來用

[Unit]
Description=Docker Socket for the API
PartOf=docker.service

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target


[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket firewalld.service
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd://
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target

需要注意的是上面有兩個 systemd 文件,一個是 socket 啟動文件,一個是正常的 docker 啟動文件,這個特性來自于 1.12 版本,具體請參考官方的 ReleaseNote。
還有一點就是記得添加一個 docker 用戶組

Kubernetes

同樣是下載二進制包解壓開來,進入 server 目錄,解壓 kubernetes-server-linux-amd64.tar.gz 文件,把解壓文件里的 5 個組件放到 /usr/local/bin 目錄(注意:就放上面提到的 5 個組件就行,其他的不用),還有一個就是 client 命令行 kubectl 文件。
然后添加 kube 系統用戶。

useradd -c "kubernetes user" -d / -M -r -s /sbin/nologin kube

然后就是官方提供的 systemd 文件 https://github.com/kubernetes... 這里就不深入講解了,因為實際上跟 etcd 基本一致,只不過 kubernetes 并不使用環境變量作為配置方式,所以必須在 systemd 啟動文件中將環境變量轉換為命令行參數傳入。

未完待續

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26707.html

相關文章

  • K3s初探:Rancher架構師帶你嘗鮮史上最輕量Kubernetes發行版

    摘要:發布不到兩天,上數已近,這個業界大熱的史上最輕量的開源發行版,你試過了沒資深架構師來教你走出嘗鮮第一步使用教程在此前言昨天,正式發布了一款史上最輕量的開源發行版。大小只有,極簡,輕便,易于使用。 發布不到兩天,GitHub上Star數已近3000,這個業界大熱的、史上最輕量的開源Kubernetes發行版,你試過了沒? Rancher資深架構師來教你走出嘗鮮第一步!使用教程在此! sh...

    neuSnail 評論0 收藏0
  • Kubernetes 嘗鮮

    摘要:是谷歌官方根據自己容器經驗開源的產品。當然,這不可能是,而且它的底層是替換成了,但是這不能掩蓋它解決的問題。因此筆者決定嘗試玩玩。不然啟動會報錯。 背景 容器技術在目前很火,而且確確實實的解決了很多的痛點,但是如果只使用目前 Docker 官方提供的 engine+compose+swarm 方案,是很難再實際生產中使用的。Kubernetes 是谷歌官方根據自己容器經驗 Borg 開...

    KunMinX 評論0 收藏0
  • 靈雀云CTO陳愷:從“鴻溝理論”看云原生,哪些技術能夠跨越鴻溝?

    摘要:早在年針對高科技行業和高科技企業生命周期的特點,提出了著名的鴻溝理論。今天我們嘗試以鴻溝理論為基礎來分析云原生領域顛覆性的創新技術?;剡^頭來看,靈雀云從早期全力投入技術棧,是最早進行產品化的廠商。 歷史進入2019年,放眼望去,今天的整個技術大環境和生態都發生了很大的變化。在己亥豬年春節剛剛過去的早春時節,我們來梳理和展望一下整個云原生技術趨勢的發展,是一件很有意義的事情,這其中有些變...

    hss01248 評論0 收藏0
  • Webpack5.0 新特性嘗鮮實戰

    摘要:而且作為一個版本,其中有一些,可能會導致一些配置和插件不工作。但這并無妨礙我們去開始對上的新特性進行嘗鮮實戰。 作者:志佳老師 本文首發微信公眾號:jingchengyideng歡迎關注,每天都給你推送新鮮的前端技術文章 前言 在老袁寫這篇文章的時候,v5版本仍然處于早期階段,可能仍然有問題。而且作為一個major版本,其中有一些breaking changes,可能會導致一些配置...

    curried 評論0 收藏0
  • [到codewars打怪獸]嘗鮮箭頭函數

    摘要:嘗鮮箭頭函數問題描述驗證方式題目分析熟悉的新的函數構造方式箭頭函數。箭頭函數總是匿名的。我的解法優解和搭配構造可構造有名函數。單句聲命可省略??杀环顷P鍵字就不能用。 [7 kyu]Sort with Arrow Functions 嘗鮮箭頭函數??2016.03.08 問題描述: showImg(http://ww4.sinaimg.cn/large/006m2mhTgw1f1p5d9...

    WelliJhon 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<