首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从无到有基于腾讯云TKE部署Kubernetes全流程(一)

从无到有基于腾讯云TKE部署Kubernetes全流程(一)

原创
作者头像
蒋经纬
修改于 2020-06-24 06:57:54
修改于 2020-06-24 06:57:54
2.1K00
代码可运行
举报
文章被收录于专栏:TKE学习分享TKE学习分享
运行总次数:0
代码可运行

从无到有基于腾讯云TKE部署Kubernetes全流程

环境

腾讯云TKE(重庆可用区)

这里我们希望的是,提供一个腾讯云TKE中部署整个基础环境,以及对部分服务的一个示例。

1、创建私有网络;

云产品 ==> 私有网络 ==> 新建

2、镜像仓库;

创建容器仓库,并将我们所需的镜像制作并push到该仓库;

docker build

这里为了演示就只用 Nginx的镜像,更改一个默认页面,然后Push 上去。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM nginx:alpine
​
MAINTAINER jingwei
​
# 这里共三个版本,分为为v1,v2,v3,其他都一样九这个值不一样,所以就不一一展示了
RUN echo v3 > /usr/share/nginx/html/index.html
​
EXPOSE 80CMD ["nginx","-g","daemon off;"]
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@jiangjw v3]# docker build -t nginx:v3 .
Sending build context to Docker daemon  2.048kB
Step 1/5 : FROM nginx:alpine
 ---> 7d0cdcc60a96
Step 2/5 : MAINTAINER jingwei
 ---> Using cache
 ---> 8cf4bd502567
Step 3/5 : RUN echo v3 > /usr/share/nginx/html/index.html
 ---> Running in f7af5a6f10b8
Removing intermediate container f7af5a6f10b8
 ---> cf836953a324
Step 4/5 : EXPOSE 80
 ---> Running in 83ac16d9c68e
Removing intermediate container 83ac16d9c68e
 ---> c5cf5fe42af4
Step 5/5 : CMD ["nginx","-g","daemon off;"]
 ---> Running in 0f8e5598e413
Removing intermediate container 0f8e5598e413
 ---> 1c817e8f41ba
Successfully built 1c817e8f41ba
Successfully tagged nginx:v3

创建镜像

查看指引

docker login

登录镜像仓库

注意:密码为首次进入镜像仓库时设置的密码

docker tag

docker push

通过控制台就可以查看到push上来的镜像了

3、TKE Kuberntes集群创建;

这里我们选择托管Master。

托管 Master优点:
  • Master由腾讯云运维放心,减少证书维护等等一系列麻烦;
  • Master节点不用客户付费,省钱;

默认安全组

如何访问管理集群?

至此,我们的Kuberntes集群创建完毕,但是由于我们没有开启公网带宽,我们又没有Mater节点,怎么通过命令行访问该集群呢?

外网访问 or 内网访问

外网访问:

  • 外部与该Kuberntes集群网络不互通的情况下,走公网访问

内网访问:

  • 与该Kuberntes集群网络互通,走内网访问

这里由于我没有创建 CVM,所以我直接用本地的虚拟机,下载 kubectl命令,TKE集群开启外网访问即可管理集群。

开启公网访问


在基本信息中可以看到集群的一些信息。

集群APIServer信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 腾讯云 Kuberntes yum源
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.cloud.tencent.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0

根据基本信息中,APIServer 说明,一步一步操作即可。

完成,目前可以通过远程命令行进行集群的管理。

4、创建Deployment;

创建资源控制器可以通过写yaml文件的方式,然后命令行执行,也可以通过TKE的控制台进行创建,这里我们通过TKE控制台进行创建,并查看生成的 yaml。

我们拿到生成的yaml后,后续大规模的服务迁入就可以通过该 yaml为模板进行对应字段的更改即可。

生成的完整deployment yaml文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  creationTimestamp: "2020-06-22T10:29:00Z"
  generation: 1
  labels:
    k8s-app: test-nginx
    qcloud-app: test-nginx
  name: test-nginx
  namespace: default
  resourceVersion: "44495000"
  selfLink: /apis/apps/v1beta2/namespaces/default/deployments/test-nginx
  uid: 14e0642a-9df6-4f1c-a99c-3faf5ddc5314
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: test-nginx
      qcloud-app: test-nginx
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s-app: test-nginx
        qcloud-app: test-nginx
    spec:
      containers:
      - image: ccr.ccs.tencentyun.com/jingwei-tke/nginx:v1
        imagePullPolicy: IfNotPresent
        name: test-nginx-pod
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        securityContext:
          privileged: false
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      imagePullSecrets:
      - name: qcloudregistrykey
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: "2020-06-22T10:29:01Z"
    lastUpdateTime: "2020-06-22T10:29:01Z"
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  - lastTransitionTime: "2020-06-22T10:29:00Z"
    lastUpdateTime: "2020-06-22T10:29:01Z"
    message: ReplicaSet "test-nginx-77f56f6df9" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: "True"
    type: Progressing
  observedGeneration: 1
  readyReplicas: 1
  replicas: 1
  updatedReplicas: 1

由于没有与内网联通实在难用,这里我又创建了一个Node节点使用了公网带宽,从而我可以通过该公网ip进入TKE该集群。

5、创建Service;

Service 通过 selectors 标签与pod进行匹配对应

通过Service 访问测试

后续继续更新中!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从无到有基于腾讯云TKE部署Kubernetes全流程(三)
只能实现一对一挂载,因为硬盘只支持一次挂载,通过硬盘创建的PVC为RWO,单机读写。
蒋经纬
2020/06/24
9080
从无到有基于腾讯云TKE部署Kubernetes全流程(二)
TKE中Kuberntes集群已经部署完成后,现在我们需要了解哪些东西,为后续选型使用呢?
蒋经纬
2020/06/23
9970
从无到有基于腾讯云TKE部署Kubernetes全流程(四)
前面的TKE集群工作都有所完成了,现在我们尝试通过这一系列工具使得,流程完全自动化。
蒋经纬
2020/06/28
5250
Kubernetes(k8s)中dashboard的部署。
1、k8s的dashboard的安装部署,首先需要将压缩包下载下来,然后进行解压缩操作。
别先生
2020/06/24
1.1K0
Kubernetes(k8s)中dashboard的部署。
TKE操作笔记02
本次笔记主要讲述了如何在腾讯云控制台创建并使用你的第一个kubernetes集群,创建过程中每个步骤的区别以及如何选择,保证自己的集群资源达到最优。
聂伟星
2020/06/02
1.6K0
TKE使用nfs文件系统
本文主要实践TKE集群使用nfs文件系统,包括使用cfs-csi(新创建实例,共享新实例),静态nfs挂载,已有实例共享挂载
williamji
2024/07/31
2020
TKE集群如何在pod内执行kubectl访问apiserver及登录node节点
腾讯云上创建一个TKE集群,一般都是需要开启集群的内网或者公网访问,才能kubectl访问集群apiserver,如果要登录node节点,需要ssh工具去登录,这种一般要有节点秘钥或者密码,但是一般只有运维才有节点登录方式。 下面我们来说说如何创建一个pod,来访问集群的apiserver,并登录node节点,下面我说的方式,是不需要节点登录密码或者秘钥,也不需要集群开启内网或者公网访问。
聂伟星
2024/10/04
2480
TKE之Traefik最佳实践
k8s的接入层有很多种,常见的7层负载均衡有nginx-ingress、traefik、kong等,还有每个云厂商为了对接自己的负载均衡产品所开发的控制器,tke集群现在默认是clb类型ingress,也支持组件安装nginx-ingress到集群内使用,其他类型的网关,需要自己在集群内部署才行,今天我们讲讲traefik在tke上的部署安装和一些使用实践。
聂伟星
2022/03/18
2.5K0
云原生在线技术工坊——EKS助力小白实践云原生
云原生技术工坊 通过六天的学习,让零基础的小白能够对云原生,特别是对如何基于 Kubernetes 部署应用,有一个初步的了解。在每天1-2小时的动手学习之后,还可以参与打卡,对所学进行记录和输出,学习氛围十足。本次学习的内容主要有以下几点:
CathonZHD
2022/01/03
8770
云原生在线技术工坊——EKS助力小白实践云原生
Kubernetes(TKE集群)部署Nacos
官网文档:https://nacos.io/zh-cn/docs/use-nacos-with-kubernetes.html
chen1900s
2022/02/26
3.9K0
云原生监控数据查询地址如何暴露出公网
prometheus现在是主流的监控k8s方案,各大云厂商也都有托管的k8s服务,为了更好的对托管k8s集群监控,也推出了托管的prometheus监控服务,腾讯云上就推出了腾讯云云原生监控服务(Tencent Prometheus Service,TPS)下面简称TPS,TPS
聂伟星
2021/08/31
2K1
【Kubernetes系列】第8篇 CI/CD之组件部署
应对敏捷开发的需求,对CI(持续集成))/CD(持续交付)的提出了更高的标准,今天来讨论下,如何基于开源组件(gitlab/jenkins/harbor/kubernetes)使用CI/CD,赋能团队的开发、运维。
HankerCloud
2019/10/24
8120
【Kubernetes系列】第8篇 CI/CD之组件部署
TKE部署kubernetes-dashboard
基于已经创建好的Kubernetes集群进行部署Kubernetes-dashboard
chen1900s
2022/10/18
8770
腾讯云TKE-Ingress案例: TKE-Ingress与Nginx-Ingress共存
用户场景: 既想使用腾讯云TKE Ingress的能力又想使用Nginx-Ingress的能力, 多个入口,不同的controller监听不同的带有kubernetes.io/ingress.class annotations 标签的资源. 架构图如下:
朱瑞卿
2020/10/24
2.1K0
腾讯云TKE-Ingress案例: TKE-Ingress与Nginx-Ingress共存
第六章 k8s应用部署
通过kubectl api-versions和kubectl api-resources来查询Kubernetes API支持的API版本以及资源对象。
喵喵侠
2022/01/23
1.2K0
【kubernetes】新版helm3的三大概念+快速指南+自定义charts模板
chart看作linux中rpm包,repository看作repo仓库,release就是我们的yum install安装启动后的软件。
秋意零
2022/05/12
1.7K0
【kubernetes】新版helm3的三大概念+快速指南+自定义charts模板
初试 minikube 本地部署运行 kubernetes 实例
哎_小羊
2018/01/02
4.2K0
minikube本地部署运行 kubernetes 实例
本次演示环境,我是在本机 MAC OS 以及虚拟机 Linux Centos7 上操作,以下是安装的软件及版本:
菲宇
2019/06/13
2.1K0
minikube本地部署运行 kubernetes 实例
从无到有基于腾讯云TKE部署Kubernetes全流程-Ingress(五)
由于大规模使用Kuberntes后,容器中的Service变得较多,怎样让这么多Service被集群外部的服务所访问也是一个急需解决的问题,NodePort这样一种方案显然不太适合。
蒋经纬
2020/06/29
1.2K0
在k8s中获取客户端真实IP实践
当需明确服务请求来源以满足业务需求时,则需后端服务能够准确获取请求客户端的真实源 IP。例如以下场景:
chen1900s
2022/07/17
7.3K0
推荐阅读
相关推荐
从无到有基于腾讯云TKE部署Kubernetes全流程(三)
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验