Aws EC2,kubeadm方式安装kubernetes(k8s)

版本

docker版本:20.10.25

k8s版本(kubeadm,kubelet和kubectl):1.20.10-0

初始化

bash 复制代码
# 禁用 SELinux
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
 
# 关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld
 
# 关闭 swap
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab

准备环境

角色 IP
master 192.168.11.139
node1 192.168.11.140
node2 192.168.11.141
bash 复制代码
每台机器都要添加
$ vi /etc/hosts
192.168.11.139 master
192.168.11.140 node1
192.168.11.141 node2

安装docker

安装的版本20.10.25-1.amzn2023.0.1

bash 复制代码
$ sudo yum install -y docker-20.10.25-1.amzn2023.0.1

启动docker
$ systemctl start docker

Linux(centos)安装docker-CSDN博客

安装K8S

  1. 添加 Kubernetes 仓库
bash 复制代码
$ vi /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
  1. 安装 kubeadm, kubelet, 和 kubectl,三台机器都要安装
bash 复制代码
$ sudo yum install -y kubelet-1.20.10-0  kubeadm-1.20.10-0  kubectl-1.20.10-0
  1. 初始化master节点
bash 复制代码
$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16
  1. 安装成功
  1. 设置kubectl配置文件
bash 复制代码
mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config
  1. 安装 Pod 网络插件
bash 复制代码
$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  1. 加入node工作节点

在node1和node2运行

bash 复制代码
从主节点复制 kubeadm join 命令
$ kubeadm join 192.168.11.139:6443 --token 8u9xi5.eaffhbpk6yrsr52f \
    --discovery-token-ca-cert-hash sha256:883c0637ffc0825b79f6fb40c1c9473775b564b3532f5f3a64332cdxxxxx
bash 复制代码
master节点查看
$ kubectl get nodes
NAME     STATUS   ROLES                  AGE    VERSION
master   Ready    control-plane,master   118m   v1.20.10
node1    Ready    <none>                 69m    v1.20.10
相关推荐
fengkai454513 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
SatanII14 小时前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
容器魔方14 小时前
Volcano v1.16 发布:新增 NamespaceQueue 与 fairshare,拓展 HyperNode 生态
人工智能·云原生·容器·华为云·云计算
hz5678914 小时前
本地部署视频会议系统软件功能有哪些?会议预约、权限分配与协作能力详解
安全·云计算·实时音视频·信息与通信·远程工作
小马同学-16 小时前
K8s 命名空间与上下文:Namespace 资源隔离与多集群切换实战
云原生·容器·kubernetes
川石课堂软件测试16 小时前
涨薪技术|0到1学会性能测试第9课-HTTP响应统计
数据库·功能测试·网络协议·http·kubernetes·单元测试·测试用例
探索云原生17 小时前
Ascend vNPU 实战:从原生 Docker 到 Ascend Docker Runtime
linux·ai·云原生·kubernetes·gpu
GPU实战笔记17 小时前
A100 按量实例转长期计费前,需要确认哪些条件?
云计算·a100·按量计费·实例生命周期·gpu实例
许知珩17 小时前
Kubernetes 存储与配置管理 ——Volume、ConfigMap 与 Secret 实战详解
云原生·容器·kubernetes
你看我名字20 小时前
LAMP 架构演练:从云主机准备到 Apache、PHP、MySQL 上线验证
运维·ci/cd·架构·kubernetes·jenkins