初始化检查

操作系统:ubuntu22.04 LTS

docker:20.10.18

kubelet: v1.23.6

kubeadm:v1.23.6

kubectl: v1.23.6

1、校准时间:

 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2、修改系统配置,允许桥接流量

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

  

3、关闭swap和防火墙

swapoff -a # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久
关闭防火墙:
systemctl disable --now ufw
systemctl stop ufw

  

4、使用aliyun镜像

sed -i 's@http://cn.archive.ubuntu.com@https://mirrors.aliyun.com@g' /etc/apt/sources.list
apt-get update

vim /etc/netplan/00-installer-config.yaml

network:
ethernets:
ens33:
dhcp4: false
addresses: [192.168.3.101/24]
nameservers:
addresses: [192.168.3.1,223.5.5.5,233.6.6.6]
gateway4: 192.168.3.1
ethernets:
ens37:
dhcp4: false
addresses: [10.0.8.101/24] version: 2

  

5、安装docker

apt-get update
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: 写入软件源信息
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
apt-get -y update
apt-get install containerd.io docker-ce docker-ce-cli

  

修改docker 配置文件  #cat /etc/docker/daemon.json

  {
"data-root": "/data/docker",
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://mjpmak3l.mirror.aliyuncs.com"
],
"data-root": "/data/docker",
"insecure-registries": ["127.0.0.1/8","10.0.8.121","harbor.myland.com"],
"max-concurrent-downloads": 10,
"live-restore": true,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "50m",
"max-file": "1"
},
"storage-driver": "overlay2"
}
systemctl daemon-reload
systemctl restart docker
systemctl enable docker

6、修改containerd配置文件

生成配置文件
mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml 修改配置文件
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml

grep 'SystemdCgroup' -B 11 /etc/containerd/config.toml   #检查是否修改成功

systemctl daemon-reload

systemctl restart containerd.service

systemctl enable containerd

  

7、安装kubeadm、kubelet和kubectl

由于这三个程序的托管仓库在google站点服务上,访问存在问题,目前可以使用阿里云(http://mirrors.aliyun.com)或者Azure(http://mirror.azure.cn)

#参见 https://developer.aliyun.com/mirror/kubernetes?spm=a2c6h.13651102.0.0.73281b11JvSrJo

apt-get update && apt-get install -y apt-transport-https
#添加kubernetes官方秘钥
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - #配置kubernetes仓库
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/kube-trusted.gpg
apt-get update
apt install kubeadm=1.23.6-00 kubelet=1.23.6-00 kubectl=1.23.6-00 -y #由于kubelet v1.24及以后新版本不支持docker,这里安装老版本
systemctl start kubelet
systemctl enabel kubelet 

8、安装kubernetes

kubeadm init \
--image-repository registry.aliyuncs.com/google_containers \ #指定使用的镜像仓库 ,默认的为gcr.io,在国内一般无法访问
--kubernetes-version v1.25.3 \ #版本
--control-plane-endpoint k8s-api.ilinux.io \ #控制平面的的固定访问端点,IP地址或者DNS都可以,集群管理员与集群组件的kubeconfig配置文件的API Server访问地址
--apiserver-advertise-address 10.0.8.101 \ # API Sever通告给其他组件的IP地址,一般为Mater节点用于集群内部通信的地址,0.0.0.0wei所哟可以地址
--pod-network-cidr 10.201.0.0/16 \ #POD地址网段
--service-cidr 10.97.0.0/16 \ #SERVICE地址网段
--token-ttl 0

 安装完成后有如下输出:

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config Alternatively, if you are the root user, you can run: export KUBECONFIG=/etc/kubernetes/admin.conf You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/ You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root: kubeadm join k8s-api.ilinux.io:6443 --token 96xjvw.wte9wdakt7csogrl \
--discovery-token-ca-cert-hash sha256:5353f5f85b475859f67b11ac299cad4fb53eb41ddec06142c4fcef35d0229b34 \
--control-plane Then you can join any number of worker nodes by running the following on each as root: kubeadm join k8s-api.ilinux.io:6443 --token 96xjvw.wte9wdakt7csogrl \
--discovery-token-ca-cert-hash sha256:5353f5f85b475859f67b11ac299cad4fb53eb41ddec06142c4fcef35d0229b34

  

node节点可以只安装kubelet和kubeadm即可,按照上面的加入命令 加入集群

ubuntu22.04安装 kubernetes(docker)的更多相关文章

  1. Ubuntu22.04 安装配置流水账

    前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考. 制作启动U盘 在Ubuntu网站 ...

  2. Ubuntu22.04 安装配置VNC Server

    如果转载, 请注明出处 https://www.cnblogs.com/milton/p/16730512.html Ubuntu22.40下VNC和远程桌面的区别 使用远程桌面时, 用户必须在hos ...

  3. 在Ubuntu 14.04安装和使用Docker

    Docker是一个开源软件,它可以把一个Linux应用和它所依赖的一切(比如配置文件)都封装到一个容器.然而,Docker与虚拟机不同,它使用了沙箱机制,Docker容器不运行操作系统,它共享主机上的 ...

  4. [转]在Ubuntu 14.04安装和使用Docker

    在Ubuntu 14.04安装和使用Docker 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它可以把一 ...

  5. ubuntu 12.04 安装Docker 实战

    2016-3-8 从网络服务商那里申请到一台Ubuntu测试服务器,用来测试安装Docker环境. 注:本人初学Docker,对Linux命令也仅是稍稍了解,如有错误,烦请告知. 查看系统相关信息 可 ...

  6. Ubuntu_14.04安装docker

    Ubuntu_14.04安装docker $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificate ...

  7. Centos7上安装Kubernetes集群部署docker

    一.安装前准备1.操作系统详情需要三台主机,都最小化安装 centos7.3,并update到最新 [root@master ~]# (Core) 角色 主机名 IPMaster master 192 ...

  8. Ubuntu 16.04+.Net Core+Docker+Uginx安装部署

    前言 最近公司的项目打算移植到.Net Core平台,所以调研了一下.Net Core在Linux下的安装部署.本篇文章会一步步的描述从安装到配置到部署的全部过程.在文章的结构和内容里,笔者借鉴了很多 ...

  9. Ubuntu-18.04安装Docker

    Docker 介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制 ...

  10. ubuntu12.04安装Docker

    由于公司的虚拟机上的ubuntu都是12.04的,所以要在ubuntu12.04上安装Docker.Docker目前只能运行在64位的机器上面. 先要升级内核 sudo apt-get update ...

随机推荐

  1. 【GDKOI 2021提高组DAY2】抄写

    \(\text{Solution}\) \(dp\) 翻折就只需预处理回文中心 \(Manacher\) 预处理即可 \(Code\) #include<cstdio> #include& ...

  2. 我用ChatGPT做直播技术选型,卷死了同事

    摘要 近两年即时通讯/直播产品炙手可热,市场上针对ToB的产品日益增多,企业该如何去选型呢?本文分享了笔者对于直播产品的思考,将从直播SDK实例功能特性.常见业务场景.注意事项及最佳实践等方面介绍如何 ...

  3. Centos7部署rsync配合inotify进行系统文件实时备份

    转载csdn: Centos7部署rsync配合inotify进行系统文件实时备份_xixixilalalahaha的博客-CSDN博客

  4. js根据指定字段数据去重

    //根据id去重 function unique(arr1) { const res = new Map(); return arr1.filter((a) => !res.has(a.id) ...

  5. godis实战

  6. Xilinx XPM使用说明--XPM_MEMORY_SDPRAM

    XPM_MEMORY_SDPRAM 参数化宏:简单的双端口RAM 介绍 此宏用于实例化简单双端口RAM.端口A用于从存储器执行写入操作,端口B可用于从存储器读取. 下面介绍XPM_MEMORY实例的基 ...

  7. Spanve:一种检测大规模空间转录组学数据中空间变异基因的有效统计方法

    文章题目 Spanve: an Effective Statistical Method to Detect Spatially Variable Genes in Large-scale Spati ...

  8. python虚拟环境解决不能执行脚本的问题

    1 安装虚拟环境 pip install virtualenv 2 创建虚拟文件夹 mkdir .venvs 3.设置虚拟目录 virtualenv --system-site-packages .v ...

  9. N63050 第十二周运维作业 ansible常用模块介绍未完成

    就业和全程班本周学习内容: 二十三.Mysql数据库四 1.MySQL主从复制实现和故障排错(50分钟) 2.MySQL级联复制和主主复制架构实现(51分钟) 3.MySQL的半同步复制和复制过滤器( ...

  10. kvm 透传显卡至win10虚拟机

    环境 已安装nvidia 显卡 驱动 操作系统:CentOS Linux release 7.9.2009 (Core) 内核版本:Linux 5.4.135-1.el7.elrepo.x86_64 ...