Difference between revisions of "User:NonerKao"

From ArchWiki
Jump to navigation Jump to search
(Draft for expanding kubernetes)
Line 26: Line 26:
 
* Cloud computing
 
* Cloud computing
 
* Heterogeneous computing
 
* Heterogeneous computing
 +
 +
== Basic configuration ==
 +
 +
You may either choose using the {{ic|kubeadm}} helper or manually configuring a kubernetes cluster.
 +
 +
=== Using  kubeadm ===
 +
 +
For a sample of configuration, please see [https://github.com/kubernetes/kubeadm/issues/465 here].
 +
 +
=== Manual configuration ===
 +
 +
A basic configuration of one '''master''', with key-value storage embedded, and one '''node''' is presented In this section.  Assume that they connect to each other in a private network {{ic|192.168.122.0/24}}, where master's IP is {{ic|192.168.122.1}} and the node is {{ic|192.168.122.10}}. 
 +
 +
This guide uses {{AUR|kubernetes}}, but one should be able to apply the following steps easily using {{AUR|kubernetes-bin}}. 
 +
 +
==== Master ====
 +
 +
A kubernetes master machine hosts three services:
 +
* kube-apiserver
 +
* kube-controller-manager
 +
* kube-scheduler
 +
it also requires a key-value store (or multiple ones for high availability).  A de facto choice is {{AUR|etcd}}.
 +
 +
===== etcd =====
 +
[[Install]] {{AUR|etcd}} and start {{ic|etcd.service}}.  By default it listens to {{ic|http://127.0.0.1:2379}}. 
 +
 +
===== kube-apiserver =====
 +
 +
 +
===== kube-controller-manager =====
 +
 +
===== kube-scheduler =====
 +
 +
==== Nodes ====
 +
 +
== Trouble shooting ==
 +
 +
=== fatal error: runtime: out of memory ===
 +
This might happen when building kubernetes from source.  A known trick is to setup a {{ic|zram}} region:
 +
# modprobe zram
 +
# echo lz4 > /sys/block/zram0/comp_algorithm
 +
# echo 16G > /sys/block/zram0/disksize
 +
# mkswap --label zram0 /dev/zram0
 +
# swapon --priority 100 /dev/zram0
 +
 +
=== error when creating "xxx.yaml": No API token found for service account "default" ===
 +
Please check the details on [https://stackoverflow.com/questions/31891734/not-able-to-create-pod-in-kubernetes stackoverflow].

Revision as of 14:09, 19 December 2018

Welcome to my user page! Please feel free to comment on my talk page. Any discussion or chatting, no matter GNU/Linux, my research, or even games on Linux, learning Chinese, politics in asia are welcomed here!

若是我的翻譯有不詳盡或是錯誤的地方,也請不吝給予指正!

Personal Profile

關於我 / About me

  • 正體中文使用者 / Traditional Chinese user.
  • 晶心科技軟體工程師 / A software engineer in Andes Technology, Hsinchu, Taiwan

想做的事情 / Wish list

  • 將重要的文章翻譯成正體中文 / Translate important articles
  • 幫助更多初學者進入Archlinux的門檻 / Help more tranditional Chinese user use Arch
  • 更加了解Arch社群 / Get familiar with Arch community

聯絡方式 / Contact

  • alankao@andestech.com
  • s101062801@m101.nthu.edu.tw

Computer-related Interests

  • Container technology
  • Go
  • Linux Kernel, especially the RISC-V port
  • Operating system and Virtualization
  • Cloud computing
  • Heterogeneous computing

Basic configuration

You may either choose using the kubeadm helper or manually configuring a kubernetes cluster.

Using kubeadm

For a sample of configuration, please see here.

Manual configuration

A basic configuration of one master, with key-value storage embedded, and one node is presented In this section. Assume that they connect to each other in a private network 192.168.122.0/24, where master's IP is 192.168.122.1 and the node is 192.168.122.10.

This guide uses kubernetesAUR, but one should be able to apply the following steps easily using kubernetes-binAUR.

Master

A kubernetes master machine hosts three services:

  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler

it also requires a key-value store (or multiple ones for high availability). A de facto choice is etcdAUR.

etcd

Install etcdAUR and start etcd.service. By default it listens to http://127.0.0.1:2379.

kube-apiserver
kube-controller-manager
kube-scheduler

Nodes

Trouble shooting

fatal error: runtime: out of memory

This might happen when building kubernetes from source. A known trick is to setup a zram region:

# modprobe zram
# echo lz4 > /sys/block/zram0/comp_algorithm
# echo 16G > /sys/block/zram0/disksize
# mkswap --label zram0 /dev/zram0
# swapon --priority 100 /dev/zram0

error when creating "xxx.yaml": No API token found for service account "default"

Please check the details on stackoverflow.