如何在Ubuntu上安装和配置Kubernetes
Kubernetes是一种用于自动化部署,缩放和管理容器化应用程序的开源系统。
它也被称为K8S,这是一个简短的缩写来源,通过替换8个剩余的八个字母"ubernete"来了。
在Ubuntu上安装Kubernetes
在本教程中,我们将向我们展示如何安装Kubernetes并在Ubuntu系统上配置它。
对于本教程,我们需要两个Ubuntu节点(计算机),其中包含以下最小配置:
节点1:将是主节点(2个核心的CPU,2 GB 内存)。
节点2:将一个从属节点(1核心,1GB 内存的CPU)。
在开始安装过程之前,我们需要确保计算机已更新。
我们可以使用以下命令: sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
主机名设置为你的节点
第1步:在主节点,请使用以下命令: sudo hostnamectl set-hostname kubernetes-master
第2步:在从属节点,请使用以下命令: sudo hostnamectl set-hostname kubernetes-slave
强烈建议为节点提供准确的时间和日期以获取有效的TLS证书。
Docker安装
在主站和从站上执行以下步骤。
步骤1.使用以下命令安装Docker。 sudo apt install docker.io
步骤2.验证安装,我们可以使用: docker --version
第3步:默认情况下,搬运工服务未启用。
因此,一旦安装成功完成,在两个节点上执行以下命令以启用Docker服务。 sudo systemctl enable docker
Kubernetes安装
步骤1.使用下一个命令安装CURL包。 sudo apt install curl
步骤2.添加Kubernetes签名密钥。 curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
步骤3.添加Kubernetes存储库。 sudo apt-add-repository "deb http://apt.kubernetes.io/kubernetes-xenial main"
请注意,在撰写本教程时,只有Xenial Kubernetes存储库可用,因此我们将使用我们的安装。
步骤4.验证安装,使用命令: kubeadm version
步骤5.在安装Kubernetes之前,请确保系统未使用交换内存,因为如果Ubuntu正在使用交换内存,则kubernetes将拒绝运行。
禁用交换内存: sudo swapoff -a
步骤6.安装Kubernetes。 sudo apt install kubeadm
Kubernetes主服务器初始化
步骤1.在主节点上,使用下一个命令初始化Kubernetes主节点。 sudo kubeadm init --pod-network-cidr=10.244.0.0/16
采取从最后一行"kubeadm加入10.0.2.15:6443令牌edvbbv.51hy5e2hgaxr1b4h发现令牌-CA证书哈希SHA256:01db7c5913e363c099dc7a711550b8399c41f7cc92bda6b5ff06d6b8382a73e2"副本在前面的屏幕截图,我们将在从节点使用它,使其加盟集群。
步骤2.此外,根据以前的输出,它建议使用以下命令开始使用Kubernetes群集。 mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
POD网络部署
要启用群集节点之间的通信,我们必须部署POD网络。
步骤1.在主节点上,使用以下命令部署POD网络。 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
步骤2.在主节点上,确保一切都已启动并运行。 kubectl get pods --all-namespaces
加入Kubernetes集群
目前,一切都应该为主节点和从节点加入Kubernetes群集。
步骤1.在从节点上并让从节点加入群集,使用前面复制的命令从kubernetes初始化步骤的输出中复制,这应该看起来像这样: sudo kubeadm join 10.0.2.15:6443 --token edvbbv.51hy5e2hgaxr1b4h --discovery-token-ca-cert-hash sha256:01db7c5913e363c099dc7a711550b8399c41f7cc92bda6b5ff06d6b8382a73e2
步骤2.在主节点上,检查从节点是否已加入群集: kubectl get nodes
恭喜,我们刚刚创建了Kubernetes群集,一切都应该准备好继续,并部署我们需要的任何服务(如apache容器或者nginx服务器)开始使用群集。