ubuntu20.04系统搭建k8s1.28集群-docker作为容器运行时

打印 上一主题 下一主题

主题 1799|帖子 1799|积分 5397

ubuntu系统搭建
ubuntu-22.04.5-desktop-amd64.iso映像文件--->现实却是20.4focal版本。
【安装过程没有特别指出的默认回车下一步】

【用户和暗码设置】

【网络连接】



【在vmware上安装的话,网络设置如下】【在vm里设置选择nat大概桥接即可】

【国内源设置】,这里的源是20.04版,内核为5.14,22版本以上为5.15内核
vi /etc/apt/source.list
----
deb 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-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb 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 https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable
# deb-src [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable

apt update
apt install -y openssh-server

apt-get install -y vim tree wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect epel-release

【关闭swap】
swapoff -a
sed -i 's/.*swap.*/#&/g' /etc/fstab

【安装ssh服务】
passwd root 给root设置暗码
apt-get install -y openssh_server
vi /etc/ssh/sshd_config
#新增
PermitRootLogin yes
PasswordAuthentication yes
Port 22
systemctl restart ssh

【时间同步】
假如是上海市区,默认为北京时间

【xshell连接】
root/1

【iptables桥接流量】
  1. cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
  2. overlay
  3. br_netfilter
  4. ip_vs
  5. ip_vs_wrr
  6. ip_vs_sh
  7. ip_vs_rr
  8. EOF
复制代码
sudo modprobe overlay
sudo modprobe br_netfilter

cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

【安装docker  】
#依靠
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
#假如/etc/apt/source.list文件中已有,就不要再设置docker源了。
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get update #更新

mkdir -p /data/docker  #这个目录最好是单独的分区,且容量大,可做rsync远程同步存储到nfs
chmod 755 -R /data/docker
sudo apt-get install docker-ce -y #直接安装是28版本

【docker/daemon.json】
vim /etc/docker/daemon.json
  1. {
  2.   "exec-opts": ["native.cgroupdriver=systemd"],
  3.   "registry-mirrors": [
  4.       "https://docker.1panel.live",
  5.       "https://docker.1panel.dev",
  6.       "https://docker.fxxk.dedyn.io",
  7.       "https://docker.zhai.cm",
  8.       "https://docker.5z5f.com",
  9.       "https://a.ussh.net",
  10.       "https://docker.m.daocloud.io",
  11.       "https://docker.aityp.com",
  12.       "https://docker.m.daocloud.io",
  13.       "https://docker.imgdb.de",
  14.       "https://docker-0.unsee.tech",
  15.       "https://docker.hlmirror.com",
  16.       "https://cjie.eu.org",
  17.       "https://docker.mirrors.ustc.edu.cn"
  18.   ],
  19.   "storage-driver": "overlay2",
  20.   "log-driver": "json-file",
  21.   "log-level": "warn",
  22.   "log-opts": {
  23.       "max-size": "100m",
  24.       "max-file": "10"
  25.    },
  26.   "default-shm-size": "128M",
  27.   "max-concurrent-downloads": 10,
  28.   "max-concurrent-uploads": 10,
  29.   "debug": false,
  30.   "experimental": true,
  31.   "features": {
  32.        "buildkit": true
  33.   },
  34.   "data-root": "/data/docker",
  35.   "insecure-registries": [
  36.         "https://registry.npm.taobao.org"
  37. ]
  38. }
复制代码
systemctl daemon-reload && systemctl restart docker

【cri-dockerd设置兼容性】
rz cri-dockerd-0.3.16.amd64.tgz
pwd
/home
tar -xf cri-dockerd-0.3.16.amd64.tgz
cp -rf cri-dockerd/cri-dockerd /usr/local/bin/
# 设置启动文件
  1. cat > /etc/systemd/system/cri-docker.service <<-"EOF"
  2. [Unit]
  3. Description=CRI Interface for Docker Application Container Engine
  4. Documentation=https://docs.mirantis.com
  5. After=network-online.target firewalld.service docker.service
  6. Wants=network-online.target
  7. Requires=cri-docker.socket
  8. [Service]
  9. Type=notify
  10. ExecStart=/usr/local/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.10
  11. ExecReload=/bin/kill -s HUP $MAINPID
  12. TimeoutSec=0
  13. RestartSec=2
  14. Restart=always
  15. StartLimitBurst=3
  16. StartLimitInterval=60s
  17. LimitNOFILE=infinity
  18. LimitNPROC=infinity
  19. LimitCORE=infinity
  20. TasksMax=infinity
  21. Delegate=yes
  22. KillMode=process
  23. [Install]
  24. WantedBy=multi-user.target
  25. EOF
复制代码

# 设置 socket 文件
  1. cat > /etc/systemd/system/cri-docker.socket <<-EOF
  2. [Unit]
  3. Description=CRI Docker Socket for the API
  4. PartOf=cri-docker.service
  5. [Socket]
  6. ListenStream=%t/cri-dockerd.sock
  7. SocketMode=0660
  8. SocketUser=root
  9. SocketGroup=docker
  10. [Install]
  11. WantedBy=sockets.target
  12. EOF
复制代码
systemctl daemon-reload && systemctl enable cri-docker --now cri-docker && systemctl status cri-docker

【安装k8s】
apt-get install curl
sudo mkdir -p /etc/apt/keyrings

  1. curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes.gpg
  2. echo "deb [signed-by=/etc/apt/keyrings/kubernetes.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
复制代码
等于:加k8s源+gpg文件
  1. cat /etc/apt/sources.list.d/kubernetes.list
  2. deb [signed-by=/etc/apt/keyrings/kubernetes.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
复制代码

apt update
apt-get install kubeadm kubectl kubelet -y
systemctl enable --now kubelet

#先手动拉取镜像
  1. sudo kubeadm config images pull \
  2.   --image-repository=registry.aliyuncs.com/google_containers \
  3.   --cri-socket=unix:///run/cri-dockerd.sock \
  4.   --kubernetes-version=v1.28.2
复制代码

#检查cri-dockerd.sock文件路径,和初始化中cri-socket路径一致
ls -l /run/cri-dockerd.sock  #在run目录下的unix:///run/cri-dockerd.sock

#再初始化
sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all --cri-socket=unix:///run/cri-dockerd.sock

#粘贴到master节点上
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u)(id -g) $HOME/.kube/config

#token
kubeadm join 10.0.0.120:6443 --token 0qgk0z.5hncmkz990wf216w \
--discovery-token-ca-cert-hash sha256:dc989d9d4cc708b8e494392f9b0a79986a3c73dd2f7cead0f73ce3be84613c03


【calico安装】
#先下载镜像,防止由于镜像题目起不来
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/cni:v3.26.1
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/node:v3.26.1
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/kube-controllers:v3.26.1
#再执行yaml文件
kubectl apply -f calico1.yaml


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

玛卡巴卡的卡巴卡玛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表