1.安装准备

下载iso

前往页面https://coreos.com/os/docs/latest/booting-with-iso.html

版本:stable 1465.7.0

日期:2017.09.26

准备ignition.json

{
"ignition": {
"version": "2.0.0",
"config": {}
}, "storage": {
"files": [
{
"filesystem": "root",
"path": "/etc/hostname",
"contents": {
"source": "data:,systech01",
"verification": {}
},
"mode": 420,
"user": {},
"group": {}
},{
"filesystem": "root",
"path": "/etc/hosts",
"contents": {
"source": "data:,127.0.0.1%09localhost%0A127.0.0.1%20systech01",
"verification": {}
},
"mode": 420,
"user": {},
"group": {}
}
]
},
"systemd": {
"units": [
{
"name": "settimezone.service",
"enable": true,
"contents": "[Unit]\nDescription=time zone Asia/Shanghai\n[Service]\nExecStart=/usr/bin/timedatectl set-timezone Asia/Shanghai\nRemainAfterExit=yes\nType=oneshot \n[Install]\nWantedBy=multi-user.target \n"
}
]
},
"networkd": {
"units": [
{
"name": "00-static.network",
"contents": "[Match]\nName=eth0\n\n[Network]\nDNS=192.168.3.1\nAddress=192.168.3.101/24\nGateway=192.168.3.1\nDHCP=no \n"
}
]
}, "passwd": {
"users": [
{
"name": "core",
"sshAuthorizedKeys": [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQA...kYoT8jhrw== mengkzhaoyun@gmail.com"
]
},{
"name": "root",
"passwordHash ": "$1$maTXmv6V$4UuGlRDpBZtipAhlPZ2/J0"
}
]
}
}
  • /etc/hostname : 主机名
  • /etc/hosts : 本地域名解析设置
  • settimezone.service : 时区设置
  • 00-static.network : 静态IP设置
  • users : 为用户core配置sshkey登陆,root密码登陆(123456)

下载镜像安装文件

模板URL-https://${channel}.release.core-os.net/amd64-usr/${version}/xxx

例子-https://stable.release.core-os.net/amd64-usr/1465.7.0/version.txt
~/current/version.txt
~/1465.7.0/coreos_production_image.bin.bz2
~/1465.7.0/coreos_production_image.bin.bz2.DIGESTS
~/1465.7.0/coreos_production_image.bin.bz2.DIGESTS.asc
~/1465.7.0/coreos_production_image.bin.bz2.DIGESTS.sig
~/1465.7.0/coreos_production_image.bin.bz2.sig

搭建HTTP镜像服务器

使用python在本地建一个HTTP镜像服务器,默认使用8000端口http://192.168.3.99:8000

$ cd c:/coreos
$ python -m SimpleHTTPServer

将上面下载的文件拷贝至c:/coreos目录中

./ignition.json

./current/version.txt

./1465.7.0/coreos_production_image.bin.bz2

./1465.7.0/coreos_production_image.bin.bz2.DIGESTS :

./1465.7.0/coreos_production_image.bin.bz2.DIGESTS.asc

./1465.7.0/coreos_production_image.bin.bz2.DIGESTS.sig

./1465.7.0/coreos_production_image.bin.bz2.sig

2.硬盘安装CoreOS

启动镜像

设置好虚拟机配置为Linux/coreos64,内存>1G,加载[Linux]coreos_1465.7.0_production_iso_image.iso启动镜像

注意:内存大小要大于1G,因为加载ISO时coreos将在内存里面跑,需要使用命令安装到本地的硬盘上。

安装coreos

# 下载 ignition.json
$ wget http://192.168.3.99:8000/ignition.json
# 安装命令
$ sudo coreos-install -b http://192.168.3.99:8000 -d /dev/sda -C stable -i ~/ignition.json

注意:/dev/sda指硬盘安装,由coreos维护的默认路径,指向硬盘根目录

3.其他

使用coreos-install安装coreos

[汪云飞2014.11.03]平台云基石-CoreOS之离线安装篇(无需互联网)

[涯余2015.01.21]Coreos 安装及配置

上面两篇博文很仔细的记录了ISO离线安装coreos的步骤,本文参考了部分内容。

coreos设置静态IP

在/etc/systemd/network下新建一个文件00-static.network

[Match]

Name=eth0

[Network]

DNS=192.168.3.1

Address=192.168.3.231/24

Gateway=192.168.3.1

DHCP=no

eth0 : 默认的网卡名称,设置时请检查默认网卡的名称,使用(ip a)命令查看

然后重启网络服务

$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-networkd

如何生成password的hash

来源coreos官网,有以下几种生成hash的方式:

# On Debian/Ubuntu (via the package "whois")
mkpasswd --method=SHA-512 --rounds=4096 # OpenSSL (note: this will only make md5crypt. While better than plantext it should not be considered fully secure)
openssl passwd -1 # Python (change password and salt values)
python -c "import crypt, getpass, pwd; print crypt.crypt('password', '\$6\$SALT\$')" # Perl (change password and salt values)
perl -e 'print crypt("password","\$6\$SALT\$") . "\n"'

来自 <https://coreos.com/os/docs/latest/cloud-config.html>

上文使用openssl生成的hash,用于ignition.json中的示例

123456

$1$maTXmv6V$4UuGlRDpBZtipAhlPZ2/J0

镜像文件下载

百度云分享

http://pan.baidu.com/s/1o81GAbo

k8s-离线安装coreos的更多相关文章

  1. centos7.3 kubernetes/k8s 1.10 离线安装 --已验证

    本文介绍在centos7.3使用kubeadm快速离线安装kubernetes 1.10. 采用单master,单node(可以多node),占用资源较少,方便在笔记本或学习环境快速部署,不适用于生产 ...

  2. 【从零开始搭建K8S】【第一篇】CentOS7.6离线安装Docker(手动安装以及基于yum本地源安装)

    下载CentOS7.6以及最小化安装CentOS7.6版本.由于CentOS属于开源软件,在国内也有很多的mirror站点可供下载,我选择的是华为站点进行下载:http://mirrors.huawe ...

  3. 从零到一,利用kubeadm在ubuntu server 16.04 64位系统离线安装kubernetes v1.10.0

    说明 初步接触kubernets,记录学习过程 本教程目的利用kubeadm在ubuntu server 16.04 64位系统离线安装kubernets v1.10.0 环境信息 节点IP地址 角色 ...

  4. 使用k8s operator安装和维护etcd集群

    关于Kubernetes Operator这个新生事物,可以参考下文来了解这一技术的来龙去脉: https://yq.aliyun.com/articles/685522?utm_content=g_ ...

  5. 离线安装 Rancher2.2.4 HA 集群

    一.先决条件(所有主机执行) 1.1 基础设置 1.安装基础软件 yum install -y vim net-tools wget lrzsz 2.防火墙 sed -i 's/SELINUX=enf ...

  6. 国内不fq安装K8S四: 安装过程中遇到的问题和解决方法

    目录 4 安装过程中遇到的问题和解决方法 4.1 常见问题 4.2 常用的操作命令 4.3 比较好的博客 国内不fq安装K8S一: 安装docker 国内不fq安装K8S二: 安装kubernet 国 ...

  7. 国内不fq安装K8S二: 安装kubernet

    目录 2 安装kubelet 2.1 环境准备 2.2 设置国内的源 2.3 重要的设置 2.4 获取镜像 2.5 使用kubeadm init初始化集群 2.6 安装Pod Network 2.7 ...

  8. 离线安装Kubernetes

    离线安装Kubernetes 环境准备: systemctl stop firewalld systemctl disable firewalld ​ 关闭selinux ​ sed -i 's/^S ...

  9. [转帖]容器云之K8s自动化安装方式的选择

    容器云之K8s自动化安装方式的选择 时间 2016-12-05 19:10:53  极客头条 原文  http://geek.csdn.net/news/detail/127426 主题 Kubern ...

随机推荐

  1. Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务

    Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具:Spr ...

  2. 《Java并发编程实战》第八章 线程池的使用 读书笔记

    一.在任务与运行策略之间的隐性解耦 有些类型的任务须要明白地指定运行策略,包含: . 依赖性任务.依赖关系对运行策略造成约束.须要注意活跃性问题. 要求线程池足够大,确保任务都能放入. . 使用线程封 ...

  3. python+selenium之自定义封装一个简单的Log类

    python+selenium之自定义封装一个简单的Log类 一. 问题分析: 我们需要封装一个简单的日志类,主要有以下内容: 1. 生成的日志文件格式是 年月日时分秒.log 2. 生成的xxx.l ...

  4. python3----requests

    import requests def get_html_text(url): try: r = requests.get(url, timeout=30) r.raise_for_status() ...

  5. ios开发之--PDF文件生成

    写项目的时候,碰到一个需求,就是在手机端根据指定的文件内容生成PDF文件,并可以保存到手机上,因为以前只是听说过,没有真正的去了解过这个需求,通过查阅资料,可以实现这个功能,话不多说,代码如下: -( ...

  6. 《C++ Primer Plus》第4章 学习笔记

    数组.结构和指针是C++的3中符合类型.数组可以在一个数据对象中存储多个同种类型的值.通过使用索引或下标,可以访问数组中各个元素.结构可以将多个不同类型的值存储在同一个数据对象中,可以使用成员关系运算 ...

  7. 【BZOJ4636】蒟蒻的数列 STL

    [BZOJ4636]蒟蒻的数列 Description 蒟蒻DCrusher不仅喜欢玩扑克,还喜欢研究数列 题目描述 DCrusher有一个数列,初始值均为0,他进行N次操作,每次将数列[a,b)这个 ...

  8. Vue基础-在模板中使用过滤器

    Vue 测试版本:Vue.js v2.5.13 官网给了过滤器的两种使用方式: 1.你可以在一个组件的选项中定义本地的过滤器: 结合实例,我给两个代码: <div id="app&qu ...

  9. [ Office 365 开发系列 ] 身份认证

    前言 本文完全原创,转载请说明出处,希望对大家有用. 通常我们在开发一个应用时,需要考虑用户身份认证及授权,Office 365使用AAD(Azure Active Directory)作为其认证机构 ...

  10. CLR via 笔记4.2 类型转换 is 与 as 区别

    is 和 as 操作符是用来进行强制类型转换的 is : 检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,永远不会抛出异常 object o = new object(); if (o i ...