ubuntu

Ubuntu K8s安装后如何配置

小樊
84
2025-02-17 21:16:35
栏目: 智能运维

在Ubuntu上安装和配置Kubernetes(K8s)集群涉及多个步骤,以下是一个详细的指南:

环境准备

安装Docker

Kubernetes需要一个容器运行时,Docker是最常用的选择。

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

编辑Docker配置文件以使用systemd作为cgroup管理器:

sudo mkdir /etc/docker
sudo nano /etc/docker/daemon.json

添加以下内容:

{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": { "max-size": "100m" },
  "storage-driver": "overlay2"
}

重启Docker服务:

sudo systemctl restart docker

安装Kubernetes组件

添加Kubernetes的APT源:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

初始化Kubernetes集群

在主节点上执行以下命令以初始化Kubernetes集群:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16

初始化完成后,记录下kubeadm join命令:

kubeadm join 192.168.1.100:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

在主节点上配置kubectl以便于管理Kubernetes集群:

mkdir -p $HOME/.kubes
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

安装网络插件

Kubernetes需要一个网络插件来管理Pod之间的通信。这里我们使用Calico作为网络插件:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

加入工作节点

在每个工作节点上,使用在初始化时记录的kubeadm join命令加入集群:

sudo kubeadm join 192.168.1.100:6443 --token <token> --discovery-token-ca-cert-hash <hash>

验证集群状态

在主节点上,运行以下命令以验证集群状态:

kubectl get nodes

你应该能看到主节点和所有工作节点的状态为Ready。

以上步骤涵盖了在Ubuntu上安装和配置Kubernetes集群的基本流程。根据具体需求,可能还需要进行进一步的配置和优化。

0
看了该问题的人还看了