#######################################################
# #
# Ubuntu部署k8s集群,命令一条一条打,防止出错。 #
# #
## ####################################################
#修改主机名
hostnamectl --static set-hostname k8s-master
bash
swapoff -a
#安装docker
apt install docker.io
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl restart docker
#安装kubelet kubeadm kubectl
#使得 apt 支持 ssl 传输
apt-get update && apt-get install -y apt-transport-https
# 下载 gpg 密钥
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
# 添加k8s镜像源
root@master:~# cat /etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
#更新源
apt-get update
#安装 kubectl,kubeadm以及 kubelet
apt-get install -y kubelet kubeadm kubectl
systemctl restart kubelet && systemctl enable kubelet
#检查机器的配置
kubeadm init phase preflight
#准备镜像文件
kubeadm config images list
#拉取镜像
#docker pull k8s.gcr.io/kube-apiserver:v1.24.2 #全都下载
#或者从阿里云下载镜像
kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers
#集群的初始化
kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=192.168.0.0/16
#安装caclia网络
curl https://projectcalico.docs.tigera.io/manifests/calico.yaml -O
kubectl apply -f calico.yaml
#检查master污点
kubectl describe nodes | grep Taints
#去掉污点
root@k8s-master:~# kubectl describe nodes | grep Taints
Taints: node-role.kubernetes.io/control-plane:NoSchedule
root@k8s-master:~# kubectl taint nodes k8s-master node-role.kubernetes.io/control-plane:NoSchedule-
node/k8s-master untainted
apt相关的命令
1. 安装软件包
apt-get install PackageName // 普通安装
apt-get install PackageName=VersionName // 安装指定包的指定版本
apt-get --reinstall install PackageName // 重新安装
apt-get build-dep PackageName // 安装源码包所需要的编译环境
apt-get -f install // 修复依赖关系
apt-get source PackageName // 下载软件包的源码
2. 卸载软件包
apt-get remove PackageName // 删除软件包, 保留配置文件
apt-get --purge remove PackageName // 删除软件包, 同时删除配置文件
apt-get purge PackageName // 删除软件包, 同时删除配置文件
apt-get autoremove PackageName // 删除软件包, 同时删除为满足依赖
// 而自动安装且不再使用的软件包
apt-get --purge autoremove PackageName // 删除软件包, 删除配置文件,
// 删除不再使用的依赖包
apt-get clean && apt-get autoclean // 清除 已下载的软件包 和 旧软件包
3. 更新软件包
apt-get update // 更新安装源(Source)
apt-get upgrade // 更新已安装的软件包
apt-get dist-upgrade // 更新已安装的软件包(识别并处理依赖关系的改变)
4. 查询软件包
dpkg -l // 列出已安装的所有软件包
apt-cache search PackageName // 搜索软件包
apt-cache show PackageName // 获取软件包的相关信息, 如说明、大小、版本等
apt-cache depends PackageName // 查看该软件包需要哪些依赖包
apt-cache rdepends PackageName // 查看该软件包被哪些包依赖
apt-get check // 检查是否有损坏的依赖
5. apt-get --help
执行命令: apt-get --help
,输出:
apt 1.0.1ubuntu2,用于 amd64 构架,编译于 Dec 8 2016 16:23:38
用法:apt-get [选项] 命令
apt-get [选项] install|remove 软件包1 [软件包2 ...]
apt-get [选项] source 软件包1 [软件包2 ...]
apt-get 是一个用于下载和安装软件包的简易命令行界面。
最常用命令是 update 和 install。
命令:
update - 取回更新的软件包列表信息
upgrade - 进行一次升级
install - 安装新的软件包(注:软件包名称是 libc6 而非 libc6.deb)
remove - 卸载软件包
autoremove - 卸载所有自动安装且不再使用的软件包
purge - 卸载并清除软件包的配置
source - 下载源码包文件
build-dep - 为源码包配置所需的编译依赖关系
dist-upgrade - 发布版升级,见 apt-get(8)
dselect-upgrade - 根据 dselect 的选择来进行升级
clean - 删除所有已下载的包文件
autoclean - 删除已下载的旧包文件
check - 核对以确认系统的依赖关系的完整性
changelog - 下载指定软件包,并显示其changelog
download - 下载指定的二进制包到当前目录
选项:
-h 本帮助文档。
-q 让输出可作为日志 - 不显示进度
-qq 除了错误外,什么都不输出
-d 仅仅下载 - 【不】安装或解开包文件
-s 不作实际操作。只是依次模拟执行命令
-y 对所有询问都回答是(Yes),同时不作任何提示
-f 当出现破损的依赖关系时,程序将尝试修正系统
-m 当有包文件无法找到时,程序仍尝试继续执行
-u 显示已升级的软件包列表
-b 在下载完源码包后,编译生成相应的软件包
-V 显示详尽的版本号
-c=? 读取指定配置文件
-o=? 设置任意指定的配置选项,例如 -o dir::cache=/tmp
请查阅 apt-get(8)、sources.list(5) 和 apt.conf(5)的参考手册