Kubernetes 上手教程

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 类似的应该网上很多,这里记录个人的操作过程和需要注意的几点。

首先要安装一系列Kubernetes软件kubelet kubeadm kubectl,可以在官网看教程,或者阿里云社区镜像里也有说明。
安装好容器docker。
其次要准备好镜像文件。k8s.gcr.io是Kubernetes官网的镜像,但是被Q了。可以从docker仓库或者阿里云下载然后改名。网上也有很多教程。

获取所需的镜像kubeadm config images list

k8s.gcr.io/kube-apiserver:v1.23.4
k8s.gcr.io/kube-controller-manager:v1.23.4
k8s.gcr.io/kube-scheduler:v1.23.4
k8s.gcr.io/kube-proxy:v1.23.4
k8s.gcr.io/pause:3.6
k8s.gcr.io/etcd:3.5.1-0
k8s.gcr.io/coredns/coredns:v1.8.6

docker pull registry.aliyuncs.com/google_containers/etcd:3.4.13-0
docker tag registry.aliyuncs.com/google_containers/etcd:3.4.13-0 k8s.gcr.io/etcd:3.4.13-0
docker pull registry.aliyuncs.com/coredns/coredns:v1.8.0
docker pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.21.3
docker pull registry.aliyuncs.com/google_containers/kube-scheduler:v1.21.3
docker pull registry.aliyuncs.com/google_containers/kube-controller-manager:v1.21.3
docker pull registry.aliyuncs.com/google_containers/kube-proxy:v1.21.3
docker pull registry.aliyuncs.com/google_containers/pause:3.4.1

节点也需要下载好image,所以准备好image之后我是用导出文件再导入,可以快速解决问题。
sudo docker save -o images.tar ...
image.png

sudo docker load -i images.tar
image.png

可能需要做kubeadm reset一次重置,比如这个节点是做node,现在做master。按照提示的文件手动清理一些文件。

进入正题kubeadm init
使用的完整命令 sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.22.0
--pod-network-cidr=10.244.0.0/16 指定网络,使用网络组件flannel
--kubernetes-version=v1.22.0 指定kubernets镜像版本,否则会下载最新版本,又是卡住。

成功的画面是这样的:
image.png
这里面也有玄机。

安装提示,使cluster启动。

image.png
部署flannel kubectl apply -f kube-flannel.yml
把yml下载到本地,下载镜像sudo docker pull quay.io/coreos/flannel:v0.14.0
https://github.com/flannel-io/flannel
在flannel部署文件里这么一块,所以初始化需要设置网段

net-conf.json: |
    {
      "Network": "10.244.0.0/16",
      "Backend": {
        "Type": "vxlan"
      }
    }

到这里基本工作完成了,看一下组件都起来了。
image.png

安装监控图像工具dashboard
下载镜像 sudo docker pull kubernetesui/dashboard:v2.3.1
sudo docker pull kubernetesui/metrics-scraper:v1.0.7
部署 kubectl apply -f recommended.yaml
https://github.com/kubernetes/dashboard
部署之后service默认是ClusterIP,不能从外部直接访问,可以改成NodePort。

第二个方法是使用NGINX Ingress Controller
先用上一种方法,查看暴露的端口
sudo kubectl get svc -A
image.png
访问的路径是https://:41113/

image.png
创建用户kubectl apply -f dashboard-adminuser.yaml

获取token
sudo kubectl -n kube-system describe $(sudo kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token

登陆成功
image.png
看到满眼绿色,一路成功了。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
6月前
|
Kubernetes 应用服务中间件 nginx
百度搜索:蓝易云【使用Kubernetes部署Nginx应用教程】
现在,你已经成功在Kubernetes集群上部署了Nginx应用。通过访问Service的外部IP地址,你可以访问Nginx服务。
81 4
|
11月前
|
Kubernetes 负载均衡 网络协议
k8s教程(service篇)-总结(上)
k8s教程(service篇)-总结(上)
178 0
|
6月前
|
Kubernetes Java 容器
部署 Spring Boot 应用到 K8S 教程
部署 Spring Boot 应用到 K8S 教程
290 0
|
5月前
|
Kubernetes Ubuntu jenkins
超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
|
6月前
|
存储 Kubernetes 数据安全/隐私保护
k8s详细教程(二)
k8s详细教程(二)
261 0
|
6月前
|
Kubernetes 调度 Docker
k8s详细教程(一)
k8s详细教程(一)
301 0
|
6月前
|
Kubernetes Linux 网络安全
百度搜索:蓝易云【K8s在centos7安装及kubectl教程】
希望以上教程对你有所帮助!Kubernetes是一个强大的容器编排平台,能够帮助你更轻松地管理容器化应用程序。如果你有其他问题,请随时继续提问。
103 1
|
6月前
|
Kubernetes Ubuntu Docker
百度搜索:蓝易云【Ubuntu系统搭建K8s集群教程】
现在,你已经在Ubuntu系统上成功搭建了一个Kubernetes集群。记得保留好Kubernetes配置文件以便后续管理。
72 0
|
6月前
|
Kubernetes 监控 安全
百度搜索:蓝易云【【k8s系列】搭建MicroK8s Dashboard教程。】
完成以上步骤后,你就成功搭建了MicroK8s Dashboard,并可以通过Web界面管理和监控你的MicroK8s集群。请确保根据实际需求进行适当的安全配置和访问控制,以保护你的集群和数据安全。
115 2
|
11月前
|
存储 Kubernetes Unix
k8s教程(Volume篇)-CSI存储机制详解
k8s教程(Volume篇)-CSI存储机制详解
1354 0
k8s教程(Volume篇)-CSI存储机制详解