创建您的第一个 Kubernetes 集群
我们研究了如何使用虚拟服务器在本地安装 k3s 集群。我们使用 VirtualBox 创建了一个控制器和两个节点,将它们连接起来并安装一个控制面板。
创建小型 K3S 集群。
首先确保已在节点和服务器上安装了curl,以便可以安装 k3s 的软件包。
首先运行以下命令以创建一个控制节点,所有其他节点都将连接到该服务器以获取其命令。
curl -sfL https://get.k3s.io | sh -
接下来我们需要设置节点。为了完成设置,我们需要一些信息。请在服务器上运行以下命令,获取包含控制器和节点的网络内部 IP 地址。我们还需要从服务器获取安全令牌,可以使用 `cat` 命令获取。
ip addr show
cat /var/lib/rancher/k3s/server/node-token
获取这些信息后,我们将把它们添加到下面的命令中,并在我们的节点上运行该命令,以便将它们连接到集群。
curl -sfL https://get.k3s.io | K3S_URL=https://[server_internal_ip_address]:6443 K3S_TOKEN=[TOKEN_FROM_COMMAND_ABOVE] sh -
现在我们已经搭建好了一个可以正常运行的集群,接下来需要运行一些应用程序。一个不错的选择是运行一个仪表盘,它可以用于测试网络。下面的命令需要在控制器/服务器上运行,它会向各个节点发送指令,以安装仪表盘和指标服务器。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml
接下来我们需要一个账户来管理所有事务。首先创建一个名为service-account.yaml的文件,并添加以下信息。这将创建管理员服务账户。
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
接下来,我们通过创建名为cluster-role.yaml的文件并添加以下文本来设置新帐户可以管理的内容。
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
运行这些命令将导入我们上面创建的配置。
kubectl apply -f service-account.yaml
kubectl apply -f cluster-role.yaml
现在我们有了服务账号,但还需要另一个令牌才能登录控制面板。可以通过运行以下命令找到该令牌。查找“Token: ”并复制该长字符串。
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
最后,我们需要打开控制面板,以便我们可以从集群外部访问它。我们可以使用集群的外部 IP 地址进行端口转发来实现这一点。
kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 10443:443 --address [server_external_ip_address]
要访问您的控制面板,请访问 https://[server_external_ip_address]:10443。该网站使用 SSL,但我们尚未设置任何证书,因此您可能需要使用不需要签名证书的 Web 浏览器。
文章来源:https://dev.to/kalasuffar/creating-your-first-kubernetes-cluster-3kp2