kubernetes以及运维开发系列Kubernetes

Kubernetes(k8s)安装

2019-12-01  本文已影响0人  姜家志

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/

上一篇下一篇

猜你喜欢

热点阅读