html5手机微网站,桂林八景,上海外贸平台,dedecms蓝色企业网站模板免费下载作者|RancherLabs来源|CSDN企业博客关于k3sK3s是由Rancher Labs发布的一个轻量级Kubernetes发行版#xff0c;这款产品专为在资源有限的环境中运行Kubernetes的研发和运维人员设计。它是经过认证的Kubernetes发行版#xff0c;其最低的系统要求为#xff1a;系统内核版本这款产品专为在资源有限的环境中运行Kubernetes的研发和运维人员设计。它是经过认证的Kubernetes发行版其最低的系统要求为系统内核版本Linux 3.10每个Server最低RAM要求512 MB每个节点RAM最低要求75MB磁盘空间最低要求200 MB支持的硬件架构x86_64、 ARMv7、 ARM64这些低配置的要求使得k3s非常适用于IoT相关的场景。在GitLab中创建项目在安装k3s之前我们先在Gitlab上创建一个新的项目称为api。创建完成之后我们点击侧边菜单栏里的Operations并在下级菜单中选择Kubernetes。我们现在有两个选项在GKE上创建一个新的Kubernetes集群导入现有Kubernetes 集群的配置无论这一集群在何处创建均可导入注意在当前版本的GitLab中新集群的创建仅限于GKE。我们选择【Add existing cluster】这一选项卡。在这一步中我们需要填写几个字段来提供我们需要集成的集群配置。一直打开这个选项卡暂时无需理会。现在我们先去创建一个全新的Kubernetes集群。创建一个k3s集群我们现在将基于k3s启动一个Kubernetes集群。为什么是k3s呢因为我想要表明设置它是多么容易。为了让步骤一目了然我们仅仅设置一个节点的集群。我已经配置了名为node1的Ubuntu 18.04服务器我们在该主机上获得了一个shell之后只需要运行以下命令来安装k3s这是一个经过认证的Kubernetes集群。rootnode1:~ $ curl -sfL https://get.k3s.io | sh -上面的命令类似于用于快速Docker安装的命令curl https://get.docker.com | sh安装完毕之后可以在/etc/rancher/k3s/k3s.yaml中找到连接到集群的配置文件。rootnode1:~ $ cat /etc/rancher/k3s/k3s.yaml
apiVersion: v1
clusters:
- cluster: certificate-authority-data: LS0tL...tCg server: https://localhost:6443 name: default
contexts:
- context: cluster: default user: default name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default user: password: 48f4b...4b4e7 username: admin本地kubectl将自动使用此配置。$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
node1 Ready master 3m v1.14.5-k3s.1注意正如我们看到的Quick Start那样https://k3s.io/添加额外的节点并不复杂它基本上只需要从主服务器上的/var/lib/rancher/k3s/server/node-token获取一个令牌并使用以下命令即可连接其他一些节点$ curl -sfL https://get.k3s.io | K3S_URLhttps://myserver:6443 K3S_TOKENXXX sh -在Gitlab中集成现在让我们获取在Gitlab项目中集成全新的k3s集群所需的所有信息。集群名字k3sAPI Server的URL在配置文件中API Server指定为https://localhost:6443为了从外部访问我们需要提供node1 外部的IP地址。集群的CA证书要向Gitlab提供集群CA证书我们需要解码配置中指定的那个文件就像它在base 64中一样。$ kubectl config view --raw \
-ojsonpath{.clusters[0].cluster.certificate-authority-data} \
| base64 --decode
Service token获取一个识别令牌的过程牵涉到几个步骤。我们首先需要创建一个ServiceAccount并且向它提供一个cluster-admin角色。以下命令可以完成这些步骤$ cat EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata: name: gitlab-admin namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata: name: gitlab-admin
roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin
subjects:
- kind: ServiceAccount name: gitlab-admin namespace: kube-system
EOF当service account创建完毕之后我们检索关联的类型secret的资源$ SECRET$(kubectl -n kube-system get secret | grep gitlab-admin | awk {print $1})下一步是提取与secret关联的JWT令牌$ TOKEN$(kubectl -n kube-system get secret $SECRET -o jsonpath{.data.token} | base64 --decode)
$ echo $TOKEN我们已经完成了所有设置现在回到之前打开的选项卡中开始使用所有信息并填写Gitlab 【Add existing cluster 】表单的字段集群集成之后我们可以直接从web界面安装helmKubernetes包管理器。现在我们可以从命令行检查tiller 守护程序helm的服务器端组件是否运行。$ kubectl get deploy --all-namespaces | grep tiller
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
gitlab-managed-apps tiller-deploy 1/1 1 1 67s 集群现在已经可以使用了。除此之外GitLab的Web界面允许一键安装其他组件Ingress Controller暴露集群中运行的服务Cert-Manager使用Lets Encrypt管理TLS证书Prometheus监控运行在集群中 的应用程序Knative部署Serverless工作负载总 结在本文中我们了解如何创建一个k3s集群并且将其集成到一个Gitlab项目中。当然任何Kubernetes集群都可以使用相同的过程。我们现在可以添加各种资源到项目中源代码Dockerfile指定如何从代码中创建Docker镜像Kubernetes资源如部署、服务…….gitlab-ci.yaml文件定义CI流水线以及如何部署应用程序并且针对相关Kubernetes集群进行测试。福利扫描添加小编微信备注“姓名公司职位”加入【云计算学习交流群】r入驻博客和志同道合的朋友们共同打卡学习推荐阅读2019云栖大会逍遥看巅峰张勇提“百新”平头哥“再亮剑”Pivotal冯雷以数字化为核心竞争力的时代 自主可控是企业的“必然选择”漫画程序员一时单身一时爽一直单身...有点惨不止于刷榜三大CV赛事夺冠算法技术的“研”与“用”如何用 Python 快速开发一个区块链数据结构全面解析腾讯最新开源 loT 操作系统 TencentOS tiny真香朕在看了