华为云 Kubernetes 管理员实训 四 课后作业
练习一
创建一个Service和一个Pod作为其后端。通过kubectl describe获得该Service和对应Endpoints的信息。
- Service的名称为
<hwcka-004-1-svc-你的华为云id> - Pod的名称为
<hwcka-004-1-pod-你的华为云id> - 将所用命令、Service和Endpoints的完整yaml截图上传
首先创建 pod,注意添加标签。因为Pod和Service会通过标签关联起来。
[root@svn ch4]# cat pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: hwcka-004-1-pod-joyo
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
[root@svn ch4]# kubectl apply -f pod.yaml
pod/hwcka-004-1-pod-joyo created
[root@svn ch4]# kubectl get pod
NAME READY STATUS RESTARTS AGE
busybox 1/1 Running 13 20h
hwcka-004-1-pod-joyo 1/1 Running 0 13s
[root@svn ch4]#
接着把 pod 暴露为 service
kubectl expose pod hwcka-004-1-pod-joyo --port=8888 --target-port=80 --name=hwcka-004-1-svc-joyo
测试和验证:
[root@svn ch4]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hwcka-004-1-svc-joyo ClusterIP 10.101.211.222 <none> 8888/TCP 4m19s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 41d
[root@svn ch4]# kubectl get ep
NAME ENDPOINTS AGE
hwcka-004-1-svc-joyo 10.244.2.179:80 8m22s
kubernetes 192.168.202.130:6443 41d
[root@svn ch4]# k describe svc hwcka-004-1-svc-joyo
Name: hwcka-004-1-svc-joyo
Namespace: default
Labels: app=nginx
Annotations: <none>
Selector: app=nginx
Type: ClusterIP
IP: 10.101.211.222
Port: <unset> 8888/TCP
TargetPort: 80/TCP
Endpoints: 10.244.2.179:80
Session Affinity: None
Events: <none>
并且运行curl 10.244.2.179:80和curl 10.101.211.222:8888 都能看到Welcome to nginx!的欢迎页面。
练习二
创建一个Service和一个Pod作为其后端。通过nslookup查询该Service的Pod的域名信息。
- Service的名称为
<hwcka-004-2-你的华为云id> - 将所用命令、Service和Pod域名信息截图上传
首先创建Pod。
kubectl run nginx --image=nginx:alpine --generator=run-pod/v1
然后暴露Pod为Service。
kubectl expose pod nginx --port=8888 --target-port=80 --name=hwcka-004-2-joyo
Service和Pod的域名信息
[root@svn ch4]# kubectl exec -it busybox -- nslookup hwcka-004-2-joyo
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: hwcka-004-2-joyo
Address 1: 10.110.24.8 hwcka-004-2-joyo.default.svc.cluster.local
[root@svn ch4]# kubectl exec -it busybox -- nslookup nginx
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: nginx
Address 1: ::ffff:67.215.82.154
Address 2: 67.215.82.154
busybox.yaml的内容(考试环境下,不允许下载nslookup软件包,但是可以pull 镜像,于是我们使用busybox:1.28里面的nslookup命令)
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- name: busybox
image: busybox:1.28
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
华为云 Kubernetes 管理员实训 四 课后作业的更多相关文章
- 华为云 Kubernetes 管理员实训 五 课后作业
练习1 部署一个Deployment应用,使用secret普通卷,该应用启动依赖此secret. Deployment的名称为<hwcka-005-1-你的华为云id> 将所用命令.创建的 ...
- 华为云 Kubernetes 管理员实训 三 课后作业
Exercise 1 通过Deployment方式,使用redis镜像创建一个pod.通过kubectl获得redis启动日志. Deployment的名称为<hwcka-003-1-你的华为云 ...
- 【笔记】7天玩转容器&CKA管理员实训
第一部分 day1,容器基础知识介绍 安装 apt-get install docker-engine [root@cce-7day-fudonghai-24106 01CNL]# docker -v ...
- 实训四(cocos2dx sharesdk集成-1)
随着项目的进行,好像陷入的技术优先的迷局,对那些可以实现的功能,代码的编写上越来越漫不经心,反而对没有掌握的技术求之若渴,不免显得有些好高骛远.在没有掌握之前,思考.学习.交流也是一种快乐与享受. 言 ...
- JAVA实训第二次作业
一维数组的创建和遍历. 声明并创建存放4个人考试成绩的一维数组,并使用for循环遍历数组并打印分数.要求: (1) 首先按"顺序"遍历,即打印顺序为:从第一个人到第四个人: (2) ...
- Java第一次实训课的作业
1.圆的面积 2.加密数字 3.奇偶数
- Kubernetes/K8s CKA认证全套实训视频教程下载
地址: 链接:https://pan.baidu.com/s/1bwEUZTCVzqM3mGjrlISbcg 提取码:r1kx 目录: 目录: │ 1-1.kubernetes理论教程 - 云原生技术 ...
- 华为云 AI 实战营计划,带你迈上 AI 之路
当今,AI的开发人才需求呈现极大的供需不平衡.所有开发者都关心,要如何从一名开发者晋升为AI开发者?AI开发能力,是主要的进入障碍.不用慌,华为云推出了 <华为云ModelArts-Lab AI ...
- 直击Huawei Mate 40产线背后的华为云IoT智能制造
摘要:数字孪生?在数字世界找到物理世界的设备! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之华为云IoT智能制造助力工厂数字化转型>,原文作者:启明. Part ...
随机推荐
- JSP常见的状态码
1.404错误 -- 找不到访问的页面或资源 a.URL输入错误: b.未部署项目. 2.500错误 -- JSP页面代码有错误 3.302状态码+200状态码 -- 重定向 4.200状态码 -- ...
- MicroK8S 安装 修改IP 设置镜像加速 升级 卸载等
系统要求: Ubuntu 20.04 LTS, 18.04 LTS or 16.04 LTS或其他支持snapd的操作系统 内存:4G+ 硬盘:20G+ 官方文档 安装microk8s sudo sn ...
- Mysql资料 索引
目录 一.介绍 什么是索引? 为什么要有索引呢? 二.索引的原理 原理 磁盘IO与预读 索引的数据结构 b+树的查找过程 b+树性质 三.索引管理 MySQL的索引分类 各索引应用场景 索引类型 操作 ...
- JS 中常用的去重
第一种:indexOf (获取字符串值在字符串中首次出现的位置,若没有这个值,则返回-1) let arr = [15,45,88,45,78,15,55,88]; let arr1 = []; // ...
- react-hook简单使用
一.函数式组件创建 function HelloComponent(props, /* context */) { return <div>Hello {props.name}</d ...
- setsockopt()用法及参数详解
setsockopt()用法(参数详细说明) int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); ...
- Python基础入门(7)- Python异常处理机制
1.初识异常 1.1.什么是异常与异常处理 异常就是错误 异常会导致程序崩溃并停止运行 能监控并捕获异常,将异常部位的程序进行修理使得程序继续正常运行 1.2.异常的语法 1 # coding:utf ...
- React使用css module和className多类名设置
引入样式文件 import styles from './footer.module.css'; 注意: 样式文件名必须要以.module.css结尾 单类名设置 <div className= ...
- clickhouse配置登录密码
执行 PASSWORD=$(base64 < /dev/urandom | head -c8); echo "123456"; echo -n "123456&qu ...
- 关于编写c++动态库常用的定义
1. 关于 1.1 最近一段时间,写了不少动态库,慢慢的也积累了东西. 1.2 之前一直做Windows的动态库,没有做过Linux和OS X的动态库,太缺乏经验了: 代码缺乏 编译器支持的判断.缺乏 ...