查看: 23|回覆: 0

[Ubuntu] 在Ubuntu 20.04上安装K8S环境

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-1-6
發表於 2020-12-28 21:05:00 | 顯示全部樓層 |閲讀模式

在Ubuntu 20.04上安装K8S环境


ifan 2020.12.28

背景

在实验室跟导师进行SONIC系统的研究学习,需要使用Kubernetes来管理docker容器,于是自己摸索了在Ubuntu 20.04上面安装K8S环境,记录在此,希望能帮到有需之人。

安装步骤

准备

1.禁止swap分区

安装k8s的必须环节,笔者目前还不知道原因。

暂时禁止:

sudo swapoff -a

永久禁止:

sudo vi /etc/fstab #注释掉swap一行

2.更改net.bridge.bridge-nf-call-iptables的值为1.(Ubuntu 20.04默认为1)

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

3.安装Docker

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

开始安装K8S

1.安装kubeadm kubeadm kubectl

sudo apt-get update && sudo apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo tee /etc/apt/sources.list.d/kubernetes.list <<EOF 
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

因为笔者没有梯子,所以这里使用了阿里云的镜像源安装,也可以直接用官方源安装,在此不再提供路径。

2.初始化

sudo kubeadm init 

初始化成功后会显示如下结果:

其中也给出了接下来要进行的操作:

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

3.添加网络插件

CNI bridge

mkdir -p /etc/cni/net.d
cat >/etc/cni/net.d/10-mynet.conf <<-EOF
{
    "cniVersion": "0.3.0",
    "name": "mynet",
    "type": "bridge",
    "bridge": "cni0",
    "isGateway": true,
    "ipMasq": true,
    "ipam": {
        "type": "host-local",
        "subnet": "10.244.0.0/16",
        "routes": [
            {"dst": "0.0.0.0/0"}
        ]
    }
}
EOF
cat >/etc/cni/net.d/99-loopback.conf <<-EOF
{
    "cniVersion": "0.3.0",
    "type": "loopback"
}
EOF

flannel

需要在kubeadm init 时设置 --pod-network-cidr=10.244.0.0/16

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

weave

sysctl net.bridge.bridge-nf-call-iptables=1
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

calico

需要 kubeadm init 时设置 --pod-network-cidr=192.168.0.0/16

kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/install

部署其他常用插件可自行百度。

4.查看是否安装成功

kubectl get pods -n kube-system

出现如下结果,则安装成功。

如有问题,可联系笔者: ifan0108@163.com



来源:https://www.cnblogs.com/wwph/p/14203626.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部