Kubernetes 是用于自动部署、扩展和管理容器化应用程序的开源系统。它旨在提供『跨主机集群的自动部署、扩展以及运行应用程序容器的平台』。它支持一系列容器工具,包括Docker等。- https://zh.wikipedia.org/wiki/Kubernetes
在这篇文章中,我会介绍下如何在Ubuntu上安装Kubernetes。
安装Docker
使用命令安装:
sudo apt install docker.io
查看安装结果:
docker --version
Docker version 18.09.7, build 2d0083d
启动Docker服务:
sudo systemctl enable docker
安装Kubernetes
先要确认是否安装了curl
,如果没有安装,运行命令安装:
sudo apt install curl
添加google的apt包依赖:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
安装Kubernetes基础软件:
sudo apt install kubeadm kubectl kubelet
kubeadm
是一个工具,通过执行必要的操作来启动和运行一个最小可用的集群。它被故意设计为只关心启动集群,而不是节点准备工作,使用kubeadm
做为所有部署的基础将会使得创建一个符合期望的集群变得更容易。
kubectl
是命令行工具,可以用来操控Kubernetes集群。
kubelet
是在每个节点上运行的主要"节点代理",kubelet
以PodSpec为单位来运行任务,PodSpec是一个描述pod的YAML或JSON对象
启动Kubernetes
首先要关闭内存交换系统,因为Kubernetes在使用内存交换系统上无法正常执行:
sudo swapoff -a
设置Kubernetes的域名,这里设置为master-node:
sudo hostnamectl set-hostname master-node
设置从节点的命令为:hostnamectl set-hostname slave-node
初始化主节点并设置IP地址:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化成功后会提醒我们做两件事情,第一创建用户相关信息:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
如果不按照上面的进行操作就会出现错误:
nable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
第二其它节点如何加入集群:
kubeadm join ip:6443 --token 83zs28******u73b1 \
--discovery-token-ca-cert-hash sha256:9a0b682***********0a1039dec66ff7dd3eb1061af4f90e7923ae1932b
安装结果
安装完成之后可以通过命令查看:
kubectl get pods --all-namespaces
可以看到运行结果:
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-5644d7b6d9-8wv9c 0/1 Pending 0 9m32s
kube-system coredns-5644d7b6d9-vfd5w 0/1 Pending 0 9m32s
kube-system etcd-master-node 1/1 Running 0 8m30s
kube-system kube-apiserver-master-node 1/1 Running 0 8m41s
kube-system kube-controller-manager-master-node 1/1 Running 0 8m23s
kube-system kube-proxy-dmvw7 1/1 Running 0 9m32s
kube-system kube-scheduler-master-node 1/1 Running 0 8m43s
下一篇将会介绍如何安装Kubernetes dashboard(Web UI)。
引用
https://kubernetes.io/zh/
https://zh.wikipedia.org/wiki/Kubernetes
https://vitux.com/install-and-deploy-kubernetes-on-ubuntu/