安装部署
minikube
使用Ubuntu 20.04
安装docker
apt install -y docker.io安装cri-dockerd
wget https://storage.googleapis.com/golang/getgo/installer_linux
chmod +x ./installer_linux
./installer_linux
source ~/.bash_profilegit clone https://github.com/Mirantis/cri-dockerd.git
cd cri-dockerd
mkdir bin
go build -o bin/cri-dockerd
mkdir -p /usr/local/bin
install -o root -g root -m 0755 bin/cri-dockerd /usr/local/bin/cri-dockerd
cp -a packaging/systemd/* /etc/systemd/system
sed -i -e 's,/usr/bin/cri-dockerd,/usr/local/bin/cri-dockerd,' /etc/systemd/system/cri-docker.service
systemctl daemon-reload
systemctl enable cri-docker.service
systemctl enable --now cri-docker.socket修改/etc/systemd/system/cri-docker.socket服务,将docker变成root。
创建软连接
然后重启服务服务
查看这两个服务是否正常
安装crictl
安装kubectl
安装Minikube
运行
查看可支持的版本
启动集群
查看pods
启动metrics
启动仪表盘
配置对外端口
访问URL

kubernetes集群安装
架构
三台使用Ubuntu 20.04。
master
192.168.32.10
node-1
192.168.32.20
node-2
192.168.32.30
安装cri-dockerd
三台都要装
注意: Docker 引擎不实现CRI ,这是容器运行时与 Kubernetes 一起工作的要求。因此, 必须安装额外的服务cri-dockerd 。cri-dockerd 是一个基于遗留内置 Docker 引擎支持的项目,该支持已在 1.24 版中从 kubelet 中删除。
安装go语言
安装cri-docker
修改/etc/systemd/system/cri-docker.socket 中SocketGroup组为root
重新读取配置文件,设置开机启动以及立刻运行服务。
安装 kubeadm、kubelet 和 kubectl
您将在所有机器上安装这些软件包:
kubeadm:引导集群的命令。kubelet:在集群中的所有机器上运行并执行诸如启动 pod 和容器之类的组件。kubectl:用于与您的集群对话的命令行实用程序。
切换到国内源
将 SELinux 设置为 permissive 模式(相当于将其禁用)
通过运行命令
setenforce 0和sed ...将 SELinux 设置为 permissive 模式可以有效地将其禁用。 这是允许容器访问主机文件系统所必需的,而这些操作是为了例如 Pod 网络工作正常。
关闭swap分区
关闭防火墙
查看支持的版本
部署集群
kubeadm init 是一个用于初始化 Kubernetes 集群的命令。当你运行 kubeadm init 时,它会在你运行该命令的节点上创建一个新的集群。
你可以使用 --cri-socket 参数来指定要使用的容器运行时接口 (CRI) 的套接字。CRI 是 Kubernetes 与容器运行时(例如 Docker 或 containerd)进行通信的接口。
你也可以使用 --control-plane-endpoint 参数来指定集群的控制平面端点的 IP 地址和端口。控制平面是集群的中枢,负责管理集群的状态并在节点上调度工作负载。
master节点初始化
复制凭据
重置
这时候coredns是还没有启动
下载配置文件
修改kube-flannel.yml中的Network的值,要与初始化时的参数--pod-network-cidr的值一致

运行flannel
默认情况下,出于安全原因,您的集群不会在控制平面节点上调度 Pod。如果您希望能够在控制平面节点上调度 Pod,例如对于单机 Kubernetes 集群,请运行:
两个node节点加入到master节点
如果出现
[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1

查看节点状态

由于集群节点通常是按顺序初始化的,CoreDNS Pod 很可能都运行在第一个控制面节点上。 为了提供更高的可用性,请在加入至少一个新节点后 使用
kubectl -n kube-system rollout restart deployment coredns命令,重新平衡这些 CoreDNS Pod。
最后更新于
这有帮助吗?