阿里云手动安装k8s流程

本文档提供了一种在阿里云ECS上手动安装k8s的详细流程,包括安装Docker、配置镜像加速、安装k8s、拉取并重命名镜像、关闭Swap、启动k8s组件以及验证启动状态。该流程适用于学习和体验,生产环境中建议使用阿里云ACK服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

  • 本流程已在阿里云国内ECS上通过测试
  • 本流程只是为想要体验安装过程的同学提供参考,在生产中请使用阿里云ACK
  • 如果对本流程有疑问,可以租一台阿里云国外ECS,然后跑一下官方安装教程

1. 安装Docker

apt-get update && apt-get install -y docker.io

配置镜像加速
打开控制台->右上角橙色按钮->产品与服务->弹性计算->容器镜像服务->镜像加速器,执行类似如下的代码

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["<你的地址>"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2. 安装k8s

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
systemctl daemon-reload
systemctl restart kubelet

3. 拉取镜像

先确认我们需要的镜像版本,如果版本不同,请自行修改

kubeadm config images list

下面是绕道下载的镜像

docker pull kubesphere/kube-proxy:v1.18.6
docker pull kubesphere/kube-controller-manager:v1.18.6
docker pull kubesphere/kube-apiserver:v1.18.6
docker pull kubesphere/kube-scheduler:v1.18.6
docker pull kubesphere/pause:3.2
docker pull coredns/coredns:1.6.7
docker pull cocity/etcd:3.4.3-0

下面是网络插件镜像,可以直接下载

docker pull calico/node:v3.14.1
docker pull calico/pod2daemon-flexvol:v3.14.1
docker pull calico/cni:v3.14.1
docker pull calico/kube-controllers:v3.14.1

4. 重命名镜像

docker tag kubesphere/kube-proxy:v1.18.6 k8s.gcr.io/kube-proxy:v1.18.6
docker tag kubesphere/kube-controller-manager:v1.18.6 \
    k8s.gcr.io/kube-controller-manager:v1.18.6
docker tag kubesphere/kube-apiserver:v1.18.6 k8s.gcr.io/kube-apiserver:v1.18.6
docker tag kubesphere/kube-scheduler:v1.18.6 k8s.gcr.io/kube-scheduler:v1.18.6
docker tag kubesphere/pause:3.2 k8s.gcr.io/pause:3.2
docker tag coredns/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7
docker tag cocity/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker rmi kubesphere/kube-proxy:v1.18.6 \
    kubesphere/kube-controller-manager:v1.18.6 \
    kubesphere/kube-apiserver:v1.18.6 \
    kubesphere/kube-scheduler:v1.18.6 \
    kubesphere/pause:3.2 \
    coredns/coredns:1.6.7 \
    cocity/etcd:3.4.3-0

5. 关闭Swap

永久关闭

编辑/etc/fstab,注释UUID、/dev/fd0开头的这两行(最后两行)

临时关闭

sudo swapoff -a

6. 启动k8s

kubeadm init

配置kubectl的操作权限

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

(可选)设置master为可调度,这样可以在单机上体验k8s,否则你需要至少一台从机

kubectl taint nodes --all node-role.kubernetes.io/master-

启动网络插件

# 该地址可能无法访问,可以先通过渠道下载再拷贝到服务器
kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

7. 验证启动

docker pull nginx:1.7
kubectl run my-nginx --image=nginx:1.7
kubectl get pods
# NAME       READY   STATUS    RESTARTS   AGE
# my-nginx   1/1     Running   0          51s
kubectl delete pod my-nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值