繁体   English   中英

如何在亚马逊 Linux 2 AMI 中安装 kubernetes

[英]How to install kubernetes in Amazon Linux 2 AMI

如何在 Amazon Linux 2 AMI 中安装Kubernetes以及如何将worker-nodes添加到Kubernetes-Cluster

让我们考虑1 个Kubernetes 集群和2 个工作节点

  1. 启动 AWS ec2 实例时,请确保打开相关安全组中的所有端口
  2. 所有 EC2 实例都需要位于同一个 VPC同一个可用区中。
  3. 对于 K8-Cluster,最低要求是t2.large
  4. 对于工作节点的最低要求是t2.micro
  5. 登录腻子/终端以连接到您的 EC2 实例。

在 K8-Cluster 和 Worker-nodes 上运行以下命令

  • 成为根用户。 安装 Docker 并启动 Docker 服务。 此外,启用 docker 服务,以便在系统重新启动时启动 docker 服务。
sudo su
yum install docker -y 
systemctl enable docker && systemctl start docker
  • 创建正确的 yum repo 文件,以便我们可以使用 yum 命令安装 Kubernetes 的组件。
cat <<EOF > /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=0

gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

exclude=kube*

EOF
  • sysctl 命令用于在运行时修改 kernel 参数。 Kubernetes 需要访问内核的 IP6 表,因此我们需要进行更多修改。 这包括禁用安全 Linux。
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system
setenforce 0
  • 安装 kubelet、kubeadm 和 kubectl; 启动 kubelet 守护进程
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable kubelet && systemctl start kubelet
vi /etc/docker/daemon.json

{
    "exec-opts": ["native.cgroupdriver=systemd"]
}
  • 重启 docker 和 kubelet; 重新加载守护进程
 sudo systemctl daemon-reload
 sudo systemctl restart docker
 sudo systemctl restart kubelet

仅在主节点上:

  • 在主节点上初始化集群。
kubeadm init --ignore-preflight-errors all
  • 要使 kubeconfig 文件永久化,请将export KUBECONFIG=/etc/kubernetes/admin.conf粘贴到.bash_profile中的export PATH之后
ls -al
vi .bash_profile
export KUBECONFIG=/etc/kubernetes/admin.conf

在所有 Worker 节点上:

  • 从主节点上 kubeadm init 的 output 复制 kubeadm join 命令。
<kubeadm join command copied from master node>

# kubeadm join 172.31.37.128:6443 --token sttk5b.vco0jw5bkkf1toa4 \
                 --discovery-token-ca-cert-hash sha256:d77b5f865c1e30b73ea4dd7ea458f79f56da94f9de9c8d7a26b226d94fd0c49e

在主节点上:

  • 创建编织网。
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
kubectl get nodes

而已:)

在 Amazon Linux AMI(或任何其他 Linux AMI)上启动 Kubernetes 的最简单方法是使用Microk8s (Kubernetes 的轻量级发行版)。

以下步骤将帮助您在 EC2 实例上开始使用 Kubernetes:

  1. 在 EC2 实例上安装 Microk8s

    sudo snap install microk8s --classic

  2. 检查 Kubernetes 启动时的状态

    microk8s status --wait-ready

  3. 打开你想要的服务

    microk8s enable dashboard dns registry istio

  4. 开始使用 Kubernetes

    microk8s kubectl get all --all-namespaces

  5. 访问 Kubernetes 仪表板

    microk8s dashboard-proxy

  6. 启动和停止 Kubernetes 以节省电池microk8s startmicrok8s stop

这样,您可以使用 Microk8s 安装 Kubernetes 的本地版本。 您也可以按照本教程获取有关上述步骤的详细说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM