k8s1.5.2的安装步骤

发布时间:2021-08-19 13:43:35 作者:chen
来源:亿速云 阅读:164
# Kubernetes 1.5.2 安装步骤详解

## 前言

Kubernetes(简称K8s)作为当前最流行的容器编排系统,其安装部署一直是运维人员和开发者的重点关注内容。本文将详细介绍Kubernetes 1.5.2版本的完整安装流程,涵盖从环境准备到集群验证的全过程。

> **注意**:1.5.2是较早期的K8s版本(2016年12月发布),建议生产环境使用较新稳定版。本文档适用于需要特定版本兼容的场景。

---

## 目录
1. [环境准备](#环境准备)
2. [安装Docker](#安装docker)
3. [安装Etcd](#安装etcd)
4. [安装Kubernetes组件](#安装kubernetes组件)
5. [配置Master节点](#配置master节点)
6. [配置Node节点](#配置node节点)
7. [网络插件部署](#网络插件部署)
8. [验证集群](#验证集群)
9. [常见问题排查](#常见问题排查)

---

## 环境准备

### 硬件要求
- **Master节点**:
  - 2核CPU
  - 2GB内存
  - 30GB磁盘空间
- **Node节点**:
  - 1核CPU
  - 1GB内存
  - 20GB磁盘空间

### 操作系统
推荐使用 **Ubuntu 16.04 LTS** 或 **CentOS 7**,本文以Ubuntu为例。

### 前置条件
```bash
# 所有节点执行
sudo apt-get update && sudo apt-get upgrade -y
sudo hostnamectl set-hostname master  # 在master节点
sudo hostnamectl set-hostname node1   # 在node1节点

# 关闭交换分区
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab

# 设置时间同步
sudo apt-get install -y ntp
sudo systemctl enable ntp && sudo systemctl start ntp

安装Docker

Kubernetes 1.5.2 推荐使用 Docker 1.12.x 版本:

# 安装依赖
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

# 添加Docker官方GPG密钥
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-get update && sudo apt-get install -y docker-ce=1.12.6-0~ubuntu-xenial

# 配置Docker
sudo mkdir -p /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=cgroupfs"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  }
}
EOF

# 启动服务
sudo systemctl enable docker && sudo systemctl start docker

验证安装:

docker version --format '{{.Server.Version}}'
# 应输出:1.12.6

安装Etcd

Kubernetes 1.5 使用 etcd v3 作为默认存储:

ETCD_VER=v3.0.17
wget https://github.com/coreos/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf etcd-${ETCD_VER}-linux-amd64.tar.gz
sudo mv etcd-${ETCD_VER}-linux-amd64/etcd* /usr/local/bin/

# 创建systemd服务(仅Master节点)
cat <<EOF | sudo tee /etc/systemd/system/etcd.service
[Unit]
Description=etcd key-value store
Documentation=https://github.com/coreos/etcd

[Service]
ExecStart=/usr/local/bin/etcd \
  --name master \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://${MASTER_IP}:2379
Restart=always
User=root
Group=root

[Install]
WantedBy=multi-user.target
EOF

# 启动服务
sudo systemctl daemon-reload
sudo systemctl enable etcd && sudo systemctl start etcd

验证:

ETCDCTL_API=3 etcdctl member list

安装Kubernetes组件

添加Kubernetes仓库

sudo apt-get update && sudo apt-get install -y apt-transport-https
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 http://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update

安装指定版本

sudo apt-get install -y \
    kubelet=1.5.2-00 \
    kubeadm=1.5.2-00 \
    kubectl=1.5.2-00 \
    kubernetes-cni=0.3.0.1-07a8a2-00

配置Master节点

初始化Master

sudo kubeadm init \
  --kubernetes-version v1.5.2 \
  --pod-network-cidr=10.244.0.0/16 \
  --api-advertise-addresses=${MASTER_IP}

成功后会输出类似以下信息:

Your Kubernetes master has initialized successfully!

To start using your cluster, you need to run (as a regular user):

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

配置kubectl

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

检查状态:

kubectl get nodes
# 应显示Master节点状态为NotReady(未安装网络插件)

配置Node节点

在Master节点获取加入命令:

kubeadm token create --print-join-command
# 输出示例:kubeadm join --token <token> <master-ip>:6443

在Node节点执行:

sudo kubeadm join --token <token> <master-ip>:6443

网络插件部署

Kubernetes 1.5 推荐使用 flannel v0.7.1

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.7.1/Documentation/kube-flannel.yml

验证:

kubectl get pods --all-namespaces
# 应看到kube-system命名空间下的flannel pod运行正常

验证集群

基础检查

kubectl get nodes
# 所有节点应显示Ready状态

kubectl get cs
# 检查各组件健康状态

部署测试应用

kubectl run nginx --image=nginx --port=80
kubectl expose deployment nginx --type=NodePort
kubectl get svc
# 访问<NodeIP>:<NodePort>应看到Nginx欢迎页

常见问题排查

1. kubelet无法启动

journalctl -u kubelet -n 50 --no-pager
# 常见原因:Docker版本不兼容或cgroup驱动配置错误

2. Pod卡在Pending状态

kubectl describe pod <pod-name>
# 常见原因:资源不足或镜像拉取失败

3. 网络不通

# 检查flannel日志
kubectl logs -n kube-system <flannel-pod-name>

结语

通过以上步骤,您已成功部署了一个Kubernetes 1.5.2集群。虽然这是一个较旧的版本,但理解其安装过程有助于深入掌握K8s的架构原理。建议在实际生产环境中使用更新的稳定版本(如v1.28+),以获得更好的安全性和功能支持。

延伸阅读: - Kubernetes官方文档 - Kubernetes版本支持策略 “`

注:本文档约3800字,实际字数可能因Markdown渲染方式略有差异。如需调整内容长度,可扩展各章节的详细说明或添加更多故障排查案例。

推荐阅读:
  1. oracle的安装步骤
  2. ambari的安装步骤

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

k8s

上一篇:常见HTTP状态码有哪些

下一篇:mysql的密码忘了怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》