ubuntu 22.04安装 docker,k8s,rancher

简介: 各软件版本ubuntu 22.04 | docker 最新 | k8s v1.26.0 | rancher:v.2.7.1 |calico v3.25.0 |

一  环境设置

1.hostname配置
vim /etc/hosts
2.关闭swap分区
swapoff -a && sysctl -w vm.swappiness=0
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab
3.设置时区
timedatactl
timedatectl set-timezone Asia/Shanghai

二  安装docker

sudo apt-get -y install apt-transport-https ca-certificates 
curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | 
sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-cache madison docker-ce
apt install docker-ce

2.2 在**/etc/docker/daemon.json**中写入如下内容(如果文件不存在请新建该文件)

{
  "registry-mirrors": ["https://njxt9r87.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker


2.3 重新安装containerd

sudo systemctl stop containerd.service
sudo cp /etc/containerd/config.toml /etc/containerd/config.toml.bak
sudo containerd config default > $HOME/config.toml
sudo cp $HOME/config.toml /etc/containerd/config.toml
# 修改 /etc/containerd/config.toml 文件后,要将 docker、containerd 停止后,再启动
sudo sed -i "s#registry.k8s.io/pause#registry.cn-hangzhou.aliyuncs.com/google_containers/pause#g" /etc/containerd/config.toml
# https://kubernetes.io/zh-cn/docs/setup/production-environment/container-runtimes/#containerd-systemd
# 确保 /etc/containerd/config.toml 中的 disabled_plugins 内不存在 cri
sudo sed -i "s#SystemdCgroup = false#SystemdCgroup = true#g" /etc/containerd/config.toml
sudo systemctl enable --now containerd.service

三  haproxy和keepalived

check_apiserver.sh文件:

#!/bin/bash
err=0
for k in $(seq 1 3)
do
  check_code=$(pgrep haproxy)
  if [[$check_code == ""]]; then
    err=$(expr $err + 1)
    sleep 1
    continue
  else
    err=0
    break;
  fi
done
if [[ $err != "0"]]; then
  echo "systemctl stop keepalived"
  /usr/bin/systemctl stop keepalived
  exit 1
else
  exit 0
fi

keepalived.conf文件:

!Configuration File for keepalived
global_defs {
  router_id LVS_DEVEL
script_user root
  anable_script_security
}
vrrp_script chk_apiserver {
  script "/etc/keepalived/check_apiserver.sh"
  interval 5
  weight -5
  fall 2
rise 1
}
vrrp_instance VI_1 {
  state MASTER
  interface ens33 # localhost name
  mcast_src_ip 192.168.189.101
  virtual_router_id 51
  priority 101
  advert_int 2
  authentication {
    auth_type PASS
    auth_pass K8SHA_KA_AUTH
  }
  virtual_ipaddress {
    192.168.189.210
  }
  track_script {
    chk_apiserver
  }
}

再执行下面的命令:

systemctl daemon-reload
systemctl enable --now haproxy
systemctl enable --now keepalived

四 安装k8s

1.kubeadm工具安装

apt-get install -y kubelet kubeadm kubectl(当时默认v.1.26.3)
systemctl daemon-reload
systemctl restart kubelet
systemctl enable kubelet

2.kubeadm安装k8s(1maser,1node)

1.下载所需镜像
kubeadm config images list --kubernetes-version=v1.26.0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.26.0
2.初始化参数
kubeadm config print init-defaults > kubeadm-config.yaml  #初始化参数
3.修改kubeadm里面 
imageRepository:registry.cn-hangzhou.aliyuncs.com/google_containers
KubenetesVersion: v1.26.0
4.安装
kubeadm init --config /root/kubeadm-config.yaml --upload-certs
5.在master上面执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl cluster-info
6.在node上面执行
kubeadm join 192.168.189.101:6443 --token abcdef.0123456789abcdef \
        --discovery-token-ca-cert-hash sha256:10316337f3794d540d5a91d92839bc591921b6a616968bcbdf00910c8e3564b8
7.在另一台master上面
kubeadm join 192.168.189.101:6443 --token abcdef.0123456789abcdef \
        --discovery-token-ca-cert-hash sha256:10316337f3794d540d5a91d92839bc591921b6a616968bcbdf00910c8e3564b8 \
        --control-plane --certificate-key 80e1b22968b8189e512466c2f13426769ec0f9f47fac3158d705b4af0467179e

五  安装calico

curl --no-check-certificate https://projectcalico.docs.tigera.io/archive/
      v3.25/manifests/calico.yaml >> calico.yaml
kubectl apply -f calico.yaml

六  安装rancher

docker run -d --restart=unless-stopped 
           --privileged=true 
           -v /data/rancher:/var/lib/rancher/ 
           -p 8081:80 -p 8443:443 
           rancher/rancher:v2.7.1;


6.1 ubuntu22.04  安装 rancher 报[FATAL] k3s exited with: exit status 1错误

修改 /etc/default/grub 文件

添加  GRUB_CMDLINE_LINUX="cgroup_memory=1 cgroup_enable=memory swapaccount=1 systemd.unified_cgroup_hierarchy=0"
sudo update-grub
sudo reboot

6.2

netstat -tlnp|grep 8443 # 查看8443端口情况



参考:https://www.jianshu.com/p/e5920bac279e

https://cloud.tencent.com/developer/article/2104804

https://blog.csdn.net/TvTooOO/article/details/128904429

https://blog.csdn.net/qq_32596527/article/details/127735327(重点推荐k8s安装)

https://www.bookstack.cn/read/rancher-2.4.8-zh/746f4f29e1a4766a.md(删除rancher)

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
8月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
564 12
|
8月前
|
Ubuntu 机器人 开发者
Docker环境下的ROS Noetic:Ubuntu 20.04 系统下的解决方案
这就是在Docker环境下安装ROS Noetic在Ubuntu 20.04系统的一种简单方法,希望能对你有所帮助。
949 16
|
10月前
|
Ubuntu 安全 网络安全
Docker镜像:Ubuntu支持systemctl、SSH和VNC
总的来说,Docker提供了一个灵活且强大的方式来创建和运行自定义的Ubuntu镜像。通过理解和使用Dockerfile,你可以轻松地创建一个支持systemctl、SSH和VNC的Ubuntu镜像。
703 21
|
10月前
|
Ubuntu Linux 网络安全
Ubuntu Docker镜像:支持systemctl、SSH、VNC
总的来说,创建一个支持systemctl、SSH和VNC的Ubuntu Docker镜像需要一些技术知识,但是通过学习和实践,我们可以掌握这些技术。这将使我们能够更有效地使用Docker,更好地管理我们的应用程序和服务。CentOS系统中的日志文件位置和管理
325 17
|
11月前
|
Kubernetes Docker 容器
Kubernetes与Docker参数对照:理解Pod中的command、args与Dockerfile中的CMD、ENTRYPOINT。
需要明确的是,理解这些都需要对Docker和Kubernetes有一定深度的理解,才能把握二者的区别和联系。虽然它们都是容器技术的二个重要组成部分,但各有其特性和适用场景,理解它们的本质和工作方式,才能更好的使用这些工具,将各自的优点整合到生产环境中,实现软件的快速开发和部署。
445 25
|
10月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
1096 12
|
11月前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
442 16
|
11月前
|
人工智能 运维 Kubernetes
2025 超详细!Lens Kubernetes IDE 多平台下载安装与集群管理教程
Lens 是一款企业级 Kubernetes 可视化操作平台,2025版实现了三大技术革新:AI智能运维(异常检测准确率98.7%)、多云联邦管理(支持50+集群)和实时3D拓扑展示。本文介绍其安装环境、配置流程、核心功能及高阶技巧,帮助用户快速上手并解决常见问题。适用于 Windows、macOS 和 Ubuntu 系统,需满足最低配置要求并前置依赖组件如 kubectl 和 Helm。通过 Global Cluster Hub 实现多集群管理,AI辅助故障诊断提升运维效率,自定义监控看板和插件生态扩展提供更多功能。
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
1454 15
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
647 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结

热门文章

最新文章