kubeadm 安裝 kubernetes containerd (附代理配置)

kubernetes 安裝

代理配置(可選)

對于 docker daemon

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://10.0.1.19:8889"
Environment="HTTPS_PROXY=http://10.0.1.19:8889"
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
export http_proxy=http://10.0.1.19:8889;export https_proxy=http://10.0.1.19:8889

清理:

rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
unset http_proxy;unset https_proxy

前置準備

確認主機名稱满俗、IP、product_uuid 地址均唯一

ip link
sudo cat /sys/class/dmi/id/product_uuid

關(guān)閉 swap(臨時)

sudo swapoff -a

持久化關(guān)閉 swap 需要編輯 /etc/fstab 文件作岖,·

讓 bridge 能夠讓 iptables 看見 bridge 上的流量唆垃,這是網(wǎng)絡(luò)插件所要求。

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system

安裝 CRI

conainerd 與 docker 可選痘儡,選擇使用 docker 時可不用配置 congainerd

安裝 containerd

cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# Setup required sysctl params, these persist across reboots.
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

# Apply sysctl params without reboot
sudo sysctl --system
sudo apt install containerd.io -y
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd

設(shè)置 runc 使用 systemd cgroup 驅(qū)動 /etc/containerd/config.toml

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  ...
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
    SystemdCgroup = true
sudo systemctl restart containerd

安裝 docker(可選)

清理舊版本 docker(可選)

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

可選擇一鍵安裝腳本:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun # 阿里云鏡像
sudo sh get-docker.sh --mirror AzureChinaCloud # azure中國鏡像

或者

docker 原地址為:https://download.docker.com/linux/ubuntu
aliyun 鏡像地址為: http://mirrors.aliyun.com/docker-ce/linux/ubuntu

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
 "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \
 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

配置 docker daemon

sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl enable docker
sudo systemctl daemon-reload

sudo usermod -aG docker $USER

sudo systemctl restart docker

安裝 kubernetes

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl

google 原地址為:https://packages.cloud.google.com/apt/

aliyun 鏡像地址為: https://mirrors.aliyun.com/kubernetes/apt/

可以使用 aliyun mirror 進行替換

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
kubeadm config images pull
kubeadm init --pod-network-cidr 10.233.0.0/16

添加節(jié)點:

export KUBECONFIG=/etc/kubernetes/admin.conf
kubeadm join 10.0.2.15:6443 --token sun8lk.v61hbv2q4t6eyyuh \
    --discovery-token-ca-cert-hash sha256:7f3a8759ea6da926297fc082370982ee10e2ecf2a834847a9d9178ae963c0a49

配置 kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

安裝網(wǎng)絡(luò)插件

kubectl taint nodes --all node-role.kubernetes.io/master-

calico 和 flannel 可選

calico

kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
# update cidr setting

flannel

flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

安裝 go

sudo apt install golang -y

sudo snap install golang --classic

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.2.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh
go version

operator framework

export ARCH=$(case $(arch) in x86_64) echo -n amd64 ;; aarch64) echo -n arm64 ;; *) echo -n $(arch) ;; esac)
export OS=$(uname | awk '{print tolower($0)}')
export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/latest/download
curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH}
chmod +x operator-sdk_${OS}_${ARCH} && sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk

or

git clone https://github.com/operator-framework/operator-sdk
cd operator-sdk
git checkout master
make install

使用

mkdir operator-example;cd operator-example
operator-sdk init --domain git.ghostcloud.cn   --repo github.com/fatalc/operator-example  --project-name operator-example  --skip-go-version-check
operator-sdk create api --group device --version v1 --kind Car --controller --resource
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辕万,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子沉删,更是在濱河造成了極大的恐慌渐尿,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件矾瑰,死亡現(xiàn)場離奇詭異砖茸,居然都是意外死亡,警方通過查閱死者的電腦和手機殴穴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門凉夯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人采幌,你說我怎么就攤上這事劲够。” “怎么了植榕?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵再沧,是天一觀的道長。 經(jīng)常有香客問我尊残,道長炒瘸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任寝衫,我火速辦了婚禮顷扩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘慰毅。我一直安慰自己隘截,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布汹胃。 她就那樣靜靜地躺著婶芭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪着饥。 梳的紋絲不亂的頭發(fā)上犀农,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音宰掉,去河邊找鬼呵哨。 笑死赁濒,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的孟害。 我是一名探鬼主播拒炎,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挨务!你這毒婦竟也來了击你?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤谎柄,失蹤者是張志新(化名)和其女友劉穎果漾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谷誓,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年吨凑,在試婚紗的時候發(fā)現(xiàn)自己被綠了捍歪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡鸵钝,死狀恐怖糙臼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恩商,我是刑警寧澤变逃,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站怠堪,受9級特大地震影響揽乱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粟矿,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一凰棉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧陌粹,春花似錦撒犀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蒙幻,卻和暖如春映凳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杆煞。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工魏宽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腐泻,地道東北人失驶。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓几缭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贵少。 傳聞我的和親對象是個殘疾皇子蚌斩,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

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