参考文档:

镜像源设置: https://developer.aliyun.com/mirror/ubuntu

docker安装: https://developer.aliyun.com/article/763005

docker镜像源设置:https://blog.csdn.net/fenglibing/article/details/92090925

https://blog.csdn.net/weixin_40041218/article/details/106875007

*********************************************************** ubuntu 设置为阿里镜像源

备份:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.origin

清空 sources.list:

echo ’’ >

设置阿里镜像源:

vim /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

更新软件包索引:

sudo apt update

*********************************************************** 安装 Docker

首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:

sudo apt update

sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

使用下面的 curl 导入源仓库的 GPG key:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

将 Docker APT 软件源添加到你的系统:

sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”

现在,Docker 软件源被启用了,运行下面的命令来安装 Docker 最新版本:

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io

想要验证 Docker 是否已经成功被安装,你可以执行docker命令,前面不需要加`sudo, 会自动运行一个测试容器:

docker container run hello-world

如果本地没有该镜像,该命令将会自动下载测试镜像,并在容器中运行,输出“Hello from Docker”后退出。

输出结果如下:

 1Unable to find image 'hello-world:latest' locally
 2latest: Pulling from library/hello-world
 32db29710123e: Pull complete
 4Digest: sha256:4c5f3db4f8a54eb1e017c385f683a2de6e06f75be442dc32698c9bbe6c861edd
 5Status: Downloaded newer image for hello-world:latest
 6Hello from Docker!
 7This message shows that your installation appears to be working correctly.
 8To generate this message, Docker took the following steps:
 9The Docker client contacted the Docker daemon.
10The Docker daemon pulled the "hello-world" image from the Docker Hub.
11The Docker daemon created a new container from that image which runs the
12The Docker daemon streamed that output to the Docker client, which sent it

修改(不存在就创建)镜像源配置文件 /etc/docker/daemon.json:

1{
2  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"],
3  "exec-opts": ["native.cgroupdriver=systemd"]
4}

国内亲测可用的几个镜像源:

Docker 官方中国区:https://registry.docker-cn.com

网易: http://hub-mirror.c.163.com

中国科技大学: https://docker.mirrors.ustc.edu.cn

阿里云: https://y0qd3iq.mirror.aliyuncs.com

然后重启Docker服务:

service docker restart

然后通过以下命令查看配置是否生效:

docker info|grep Mirrors -A 1

可以看到如下的输出:

Registry Mirrors:

https://registry.docker-cn.com/

*********************************************************** 安装 k8s ***********************************************************

关闭swap分区:

swapoff -a

编辑

更新并安装依赖:

apt-get update && apt-get install -y apt-transport-https

导入源仓库的 GPG key:

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

添加阿里k8s软件源:

cat «EOF >/etc/apt/sources.list.d/kubernetes.list

deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

EOF

更新依赖:

apt-get update

安装k8s组件:

apt-get install -y kubelet kubeadm kubectl

设置kubelet 开机自启动:

systemctl enable kubelet

初始化 Master 节点:

kubeadm init

将一个 Node 节点加入到当前集群中

kubeadm join <Master节点的IP和端口 >

*********************************************************** k8s 单机(minikube)部署 ***********************************************************

使用 minikube 实现单机部署

下载:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

安装:

sudo install minikube-linux-amd64 /usr/local/bin/minikube

启动:

minikube start

minikube 以 root 身份运行会报如下错误:

1* Ubuntu 20.04 上的 minikube v1.25.2
2* 根据用户配置使用 docker 驱动程序
3* The "docker" driver should not be used with root privileges.
4* If you are running minikube within a VM, consider using --driver=none:
5*   
6
7X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.

因此要以非 root 用户运行,例如:

 1# su 到非 root 用户
 2root@zcily-server:/app/downloads# su - zhangcong
 3
 4# 把当前用户添加到 docker 用户组中
 5zhangcong@zcily-server:~$ sudo usermod -aG docker $USER && newgrp docker
 6
 7# 启动 minikube
 8zhangcong@zcily-server:~$ minikube start
 9
10# 查询节点(初始默认一个节点)
11zhangcong@zcily-server:~$ minikube node list
12minikube        192.168.49.2
13
14# 添加一个节点
15zhangcong@zcily-server:~$ minikube node add
16* 添加节点 m02 至集群 minikube
17! Cluster was created without any CNI, adding a node to it might cause broken networking.
18* Starting worker node minikube-m02 in cluster minikube
19* Pulling base image ...
20* Creating docker container (CPUs=2, Memory=2200MB) ...
21* 正在 Docker 20.10.12 中准备 Kubernetes v1.23.3
22* Verifying Kubernetes components...
23* Successfully added m02 to minikube!
24
25# 在次查询节点,发现在有两个节点了
26zhangcong@zcily-server:~$ minikube node list
27minikube        192.168.49.2
28minikube-m02    192.168.49.3
29
30# 打开 minikube 面板,以便在浏览器中访问
31minikube dashboard --url
32
33# 让局域网其它 IP 可以访问
34kubectl proxy --port=8100 --address='0.0.0.0' --accept-hosts='^.*'

这将在本地启动一个 Kubernetes 集群。要停止集群,您可以: