Archive

‘学习笔记’ 分类存档

Manual set up two containers by “docker run”

安装docker步骤此处忽略,详细可以看之前的文章

容器的网络类型

默认docker三种网络:

[root@localhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
0dc7621fa6c0   bridge    bridge    local
09d08085f98c   host      host      local
8da76deb9eb9   none      null      local

先随便开一个centos的docker,“-t” 指定一个伪终端,保持docker可以打开,否则会出现“Exited (0)”的问题:

[root@localhost ~]# docker run --name centos -dt centos

查看容器的网络类型,可以看到当创建容器不指定网络类型,默认会绑定到bridge上:

[root@localhost ~]# docker inspect 355a |grep "Networks" -A 100
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "0dc7621fa6c0e40a1129104ed94deac543cf82ce44ab79fdf7ed38b9975f9a78",
                    "EndpointID": "2dae4a431efd76066081424e47a7e6bc53e4102b14bf36bbdfda34492efd6369",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02",
                    "DriverOpts": null
完整阅读

Manual Deploy K8s

终于尝试手动部署K8s了,在此感谢朋友分享的”老男孩“教学视频👍🏻。以及朋友分享的实验环境(基于EVE-NG);持续更新直到完成部署为止;

更新说明:

  • 2022-01-17:更新拓扑信息;
  • 2022-01-19:添加基础配置;
  • 2022-01-23:添加证书配置及Bind9部署;
  • 2022-01-25:添加Docker及私有仓库Harbor相关部署配置;

Topology

基础配置

端口配置

只展示frank0-11,其他Server等同;

root@frank0-11:~# more /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens3:
      dhcp4: false
      addresses: [172.20.0.11/24]
      gateway4: 172.20.0.1
      nameservers:
        addresses: [114.114.114.114]
  version: 2
root@frank0-12:~# netplan apply
完整阅读

Go初体验

背景

我不是程序员,只是偶尔用Python写一些对个人有些帮助的小程序。之前了解过Go,朋友也一直在推荐Go,但一直没有深入研究过,自从面对下面几个事后,就萌生了想尝试一下的想法:

  • 我想用Caddy搭一个简易HTTP Server,一般建议Docker部署,比较方便,但发现macOS如果需要支持Docker,需要装Docker虚拟机,光虚拟机就占了1.5g的内存。后来我去Caddy官网下载了支持ARM架构的Caddy,只有小40m左右,下载即可执行,不需要任何环境,此程序是用Go编译而成的,关于Caddy在macOS的使用,可以看这里
  • Java也是编译语言,可是要想执行,仍然需要Java虚拟机提供运行时环境;类比Python类似,是编译+解释语言,需要Python环境才能进行解释运行;
  • 我需要对多个地址发送ICMP探测报文,Terminal其实挺好用的,只是为了多个地址,需要打开多个窗口,不是很灵活,为了CPU不影响ICMP报文,想找一款支持多核的Ping工具,但发现macOS不像Linux,没有Affinity和Taskset来给进程分配内核,最后找到一个用Go做的开源Ping软件,并支持多线程,但这个运行有些问题,需要排障;

此篇文章简单用实例总结Go的初体验,以及Go程序的排错方法,方便以后复习查阅。

机器环境

System: macOS Monterey 12.1
Arch:   darwin/arm64
Go ver: 1.17.5
完整阅读

Install EVE-NG in ESXI

PS:如果可以,还是建议使用物理机安装EVE NG,另外PNET也是一个不错的选择,算是另一个纯免费的开源软件,跟EVE NG用的一样的核心文件,但不像EVE NG高级功能需要收费,PNET纯免费;

安装EVE NG

直接从官网选择OVF的Image下载,通过ESXI新建虚拟机时,拖拽OVF和VMDK两个文件进去;安装完后配置CPU/Memory/硬盘等,并且在CPU中打开嵌套虚拟化的设置;

配置EVE NG

安装完后,进去按照提示配置,完成配置启动后发现没有IP,怀疑是我的服务器不能访问外网的原因,因此手动配置IP以及调整SSH的端口:

完整阅读

Refer to Telnet mode

背景

Telnet是常用的远程设备远程登录协议,通过如SecureCRT,Item2等终端软件,可以很容易的登录各种支持Telnet协议的设备,但有时候根据不同的终端设备,会需要一些特殊的设置,这就涉及Telnet协商,此篇文章就是整理下Telnet的几种模式及之间的区别,也包含如何更改这些模式的操作方法;

问题

我们可以通过一个问题来展开讨论,如下环境:

PC---(SSH)---CentOS---(Telnet)---KVM(vNE40E)

我们发现登录vNE40E后无法退格,连续回车会有断行,如下所示:

[root@beihe-terminal-server ~]# CR1
Trying 172.16.211.165...
Connected to 172.16.211.165.
Escape character is '^]'.


<HUAWEI>
<HUAWEI>

<HUAWEI>
<HUAWEI>dis ver^H^H^H^H  <<< 4个退格键

通过“Crtl + ]”退出当前session,然后通过“status”来查看当前Telnet连接的模式,可以看到是 “obsolete linemode”, 过时的Line mode?😂:

<HUAWEI>^]
telnet> status
Connected to 172.16.211.165.
Operating in obsolete linemode
Local character echo
Escape character is '^]'.

那么需要怎么做才能修复此问题呢?

完整阅读
blonde teen swallows load.xxx videos