ubuntu

Kubernetes如何在Ubuntu上运行

小樊
40
2025-07-15 20:34:54
栏目: 智能运维

在Ubuntu上运行Kubernetes涉及多个步骤,包括系统准备、安装Docker、配置Kubernetes组件、初始化集群、安装网络插件以及添加工作节点。以下是详细的步骤指南:

环境准备

  1. 更新系统并安装基础工具
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg apt-transport-https ca-certificates software-properties-common
  1. 禁用交换分区(Kubernetes要求):
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
  1. 设置主机名(可选):
sudo hostnamectl set-hostname k8s-master  # 主节点
sudo hostnamectl set-hostname k8s-worker1  # 工作节点
  1. 安装containerd
sudo apt install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd
sudo ctr version

安装Kubernetes组件

  1. 添加Kubernetes官方GPG密钥
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
  1. 添加仓库源
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
  1. 安装指定版本的Kubernetes组件(例如1.28.x):
sudo apt update && sudo apt install -y kubeadm=1.28.* kubelet=1.28.* kubectl=1.28.*
  1. 设置kubelet自动启动(暂不启动):
sudo systemctl enable kubelet

部署Kubernetes集群

  1. 初始化主节点
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=<主节点IP> --control-plane-endpoint=<主节点IP或负载均衡地址>

成功初始化后,会生成一些命令,例如如何与Kubernetes集群互动、如何添加工作节点等。

  1. 添加工作节点

在工作节点上执行主节点初始化后生成的命令,例如:

sudo kubeadm join <主节点IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
  1. 验证集群状态

使用以下命令检查集群状态:

kubectl get nodes

部署应用示例

  1. 创建Deployment

创建一个名为nginx-deployment.yaml的文件,内容如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
  1. 创建Service(可选):

创建一个名为nginx-service.yaml的文件,内容如下:

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer
  1. 部署应用

将Deployment应用到集群:

kubectl apply -f nginx-deployment.yaml

通过以上步骤,你可以在Ubuntu上成功运行Kubernetes集群,并部署一个简单的Nginx应用。

0
看了该问题的人还看了