华为云云原生实践之基于CCE Kubernetes编排实战【与云原生的故事】

举报
孙小北 发表于 2022/04/30 18:04:11 2022/04/30
【摘要】 近期学习了云原生相关的知识,基于华为云云原生产品CCE集群动手实践一下Kubernetes。

基于CCE Kubernetes编排实战

购买华为云CCE集群

  • 登录华为云控制台,点击“服务列表”->“容器”->“云容器引擎CCE”,进入云容器引擎CCE控制台
  • 选择标准版CCE集群,点击“创建”
    image-20220331220148149.png
  • 选择相关的配置

配置参数如下:
① 计费模式:按需计费
② 区域:华北-北京四
③ 集群名称:ccetest
④ 版本:v1.19
⑤ 集群管理规模:50节点
⑥ 控制节点数:1
勾选协议
⑦ 虚拟私有云:预置环境预置的VPC
⑧ 所在子网:预置环境预置的子网
⑨ 网络模型:容器隧道网络
⑩ 容器网段:勾选“自动选择”其他参数默认

image-20220331220255948.png

image-20220331220255948.png

  • 集群配置后,单击“下一步:创建节点”进入“创建节点”步骤。

配置参数如下:
①创建节点:现在添加
②计费模式:按需计费
③当前区域:华北-北京四
④可用区:任意
⑤节点类型:虚拟机节点
⑥节点名称: cce01-node1
⑦节点规格:c6s.xlarge.2 4核|8GB
image-20220331220405842.png

image-20220331220509755.png

  • 操作系统配置
    ① 操作系统:选择公共镜像 EulerOS 2.5
    ② 系统盘:选择默认值,高IO,40G
    image-20220331220602703.png
  • 弹性IP 选择“自动创建”,配置如下:
    ② 规格:全动态BGP
    ③ 计费模式:按带宽计费
    ④ 带宽类型:独享
    ⑤ 带宽大小 :5M
    ⑥ 登录方式:选择“密码”
    ⑦密码:自定义
    其它参数默认
    image-20220331220645168.png
  • 单击“下一步:安装插件”。系统资源插件必须要安装。其他默认即可

image-20220331220706888.png

购买弹性云服务器

  • 进入控制台,点击“服务列表”->“计算”->“弹性云服务器 ECS”
  • 单击“购买弹性云服务器”

基础配置参数如下:
①计费模式:按需计费
②区域:北京四
③可用区:随机分配
④CPU架构:x86计算
⑤规格:通用计算增强型 | c6s.large.2 | 2vCPUs | 4 GiB
⑥镜像:公共镜像 | CentOS 7.6 64bit(40GB)
⑦主机安全:开通主机安全
⑧系统盘:高IO | 40 G

image-20220331220941594.png

image-20220331221023663.png

  • “下一步:网络配置”

网络配置参数如下:
①网络:必须与CCE集群所在的VPC相同
②扩展网卡:默认配置
③安全组:选择以分配的华为云账号命名的安全组
④弹性公网IP:现在购买
⑤线路:全动态BGP
⑥公网带宽:按流量计费
⑦带宽大小:5MB
image-20220331221145941.png

  • “下一步:高级配置”

高级配置参数如下:
①云服务器名称:ecs-k8s
②登录凭证:密码
③密码:自定义
其余参数默认即可

  • “下一步:确认配置”阅读并勾选同意协议,“立即购买”

登录弹性云服务器

  • SSH 登录服务器
ssh root@120.46.133.117
#yes 输入密码

安装kubernetes客户端

  • 下载kubectl

①下载kubectl配置文件。云容器引擎控制,“资源管理 > 集群管理”,点击命令行工具下拉菜单,然后点击kubectl 进入kubelet配置页面。
image-20220331221908640.png

②在集群详情页中的“kubectl”页签下,在页面的步骤二中找到下载kubectl配置文件,点击”此处“,在弹出的弹框内点击“此处”
image-20220331222015431.png

  • 将下载的kubectl配置文件kubeconfig.json上传到ecs-k8s中
scp /home/user/Desktop/kubeconfig.json root@120.46.133.117:/root
  • 安装和配置kubectl,弹性云服务器ecs-k8s
cd ~
wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/cce-kube-layout/kubernetes-client-linux-amd64.tar.gz

ls
tar -zxvf kubernetes-client-linux-amd64.tar.gz
cp /root/kubernetes/client/bin/kubectl /home/
cp kubeconfig.json /home/
cd /home

image-20220331222626772.png

  • 添加kubectl可执行权限,并将文件移动到/usr/local/bin目录
chmod +x kubectl

mv kubectl /usr/local/bin
  • 将配置文件复制到$HOME/.kube/config文件中
mkdir $HOME/.kube
cp kubeconfig.json $HOME/.kube/config
  • 切换kubectl的访问模式为VPC网络内接入访问
kubectl config use-context internal
  • 验证kubectl安装结果
kubectl cluster-info

image-20220331222823900.png

Kubernetes组件实操

  • 查看Kubernetes状态
# (1)查看节点状态。
kubectl get node
#(2)查看现有namespace。
kubectl get namespace
#(3)创建namespace。
kubectl create namespace new-namespace
#(4)再次查看namespace列表。
kubectl get namespace
#(5)删除新创建的namespace。
kubectl delete namespace new-namespace

image-20220331223125976.png

Deployment实验

#(1)创建一个Deployment。
kubectl create deployment mydep  --image=nginx
#(2)通过命令行查看Deployment。
kubectl get deploy
#(3)使用kubectl describe命令查看资源对象的详细信息。
kubectl describe deployment mydep

image-20220331223315936.png

  • 通过CCE控制台查看Deployment

  • 点击控制台中的工作负载—>无状态负载,可以看到创建的工作负载mydep。
    image-20220331223356954.png

  • 使用kubectl命令行工具查看对象

#(1)使用kubectl get命令,get all可以查看所有对象。
kubectl get all
#(2)查看指定namespace的对象。
kubectl get all -n kube-system
#(3)以交互模式查看对象的变化,按ctrl+c退出交互模式
kubectl get deployment -w
#(4)查看完整的对象信息。
kubectl get deployment -o wide
  • 创建自定义Deployment
#(1)在master节点创建/labfile/deployfile目录,用于保存配置文件。后续创建deployment的yaml文件保存在此处。
cd /
mkdir labfile
cd labfile/
mkdir deployfile
cd deployfile/
#(2)创建deployment文件。
vim nginx-deployment.yaml

image-20220331223758066.png

  • 部署nginx-deployment
kubectl apply -f nginx-deployment.yaml
  • 查看创建结果
kubectl describe deployment nginx-deployment

kubectl get deployment
  • 查看Pod
kubectl get pod
  • 弹性伸缩Deployment
# 编辑之前创建的nginx-deployment.yaml文件,将副本数量“replicas”改为5。
vim nginx-deployment.yaml

image-20220331224139636.png

  • 按Esc键退出编辑,输入":wq"保存并退出,然后应用变更后的nginx-deployment.yaml文件
kubectl apply -f nginx-deployment.yaml
  • 查看pod状态,确认Pod数量是否正确。
kubectl get pod

image-20220331224427005.png

  • 删除创建的deployment。
kubectl delete deployment nginx-deployment

DaemonSet实验

  • DaemonSet配置文件
mkdir /labfile/daemonfile
cd /labfile/daemonfile/
# 创建DaemonSet的yaml文件。

image-20220331224558432.png

  • 创建DaemonSet
kubectl apply -f DaemonSet.yaml
  • 查看创建的DaemonSet。
kubectl get daemonset --namespace=kube-system

kubectl get pod --namespace=kube-system -o wide
  • DaemonSet自动恢复
kubectl get pod --namespace=kube-system

image-20220331225047008.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。