我的笔记

K8s Install

0.安装docker

系统选型,由于centos已停止维护,建议使用ubuntu 20.04.4 LTS

Ubuntu 20.04.4 LTS (Focal Fossa)

https://releases.ubuntu.com/20.04/ubuntu-20.04.4-live-server-amd64.iso

vi /etc/apt/sources.list
#建议修改为阿里云源,速度更快,将文件内容清空,完全替换即可

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

添加阿里云docker-ce源,并安装docker-ce

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

为了避免和k8s冲突,修改docker的cgroupdriver为systemd;并且配置阿里云容器加速。

vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}

#执行下列命令使配置生效,"registry-mirrors",请自行去阿里云申请,并替换为自己的。
systemctl daemon-reload
systemctl restart docker

1.允许iptables查看网桥流量

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

2.安装相关软件包

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

3.安装kubeadm

sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

4.添加k8s阿里源到apt

sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF

5.安装kubelet, kubeadm and kubectl

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

6.kubeadm 初始化

kubeadm init \
 --image-repository registry.aliyuncs.com/google_containers \
 --kubernetes-version v1.23.5 \
 --pod-network-cidr=192.168.0.0/16 \
 --apiserver-advertise-address=192.168.38.10
--cri-socket /run/containerd/containerd.sock
#若想使用containerd替换docker可以在初始化时加入此参数

–image-repository替换为阿里源

–apiserver-advertise-address指定了服务器本身固定不变的的ip。

–pod-network-cidr指定了pod通信的网段,不能和服务器的网段冲突。

初始化完成后,需按照最后的提示复制kubeconfig配置,记录join命令

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubeadm join 192.168.38.10:6443 --token l9fqdy.9shxi3dw99rjutd0 \
    --discovery-token-ca-cert-hash sha256:0b03253f3f16585e5dbc5345eabc33347125e5255e73103ab76e711608cdb725

7.安装网络cni插件

Quickstart for Calico on Kubernetes (tigera.io)

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

8.其他node按照1-5安装后,可以执行6中得到join命令,即可加入集群

若想要使用单节点集群,可执行下列命令去掉master的污点。

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