linux k8s安装
时间: 2023-11-03 14:59:23 浏览: 100
安装 Kubernetes(k8s)需要以下步骤:
1. 安装 Docker
Kubernetes 使用 Docker 容器技术来打包应用程序和服务。因此,首先需要在 Linux 系统上安装 Docker。
首先,卸载旧版本的 Docker(如果有的话):
```bash
sudo apt-get remove docker docker-engine docker.io containerd runc
```
然后,更新 APT 包索引并安装依赖包:
```bash
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
```
接下来,添加 Docker 的 GPG 密钥:
```bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
```
添加 Docker APT 仓库:
```bash
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```
最后,更新 APT 包索引并安装 Docker:
```bash
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
```
2. 安装 Kubernetes
Kubernetes 有多个组件,包括 kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy 等。在 Linux 系统上安装 Kubernetes,需要先安装这些组件的二进制文件。
首先,添加 Kubernetes APT 仓库:
```bash
curl -fsSL 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"
```
然后,更新 APT 包索引并安装 Kubernetes:
```bash
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
```
3. 初始化 Kubernetes 集群
使用 kubeadm 工具可以方便地初始化 Kubernetes 集群。
首先,执行以下命令来初始化 Kubernetes 集群:
```bash
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
```
这里使用的是 Flannel 网络插件,需要指定 pod 网络地址段。
初始化成功后,会输出如下信息:
```bash
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You can now join any number of the control-plane node running the following command on each as root:
kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
Please note that the certificate-rotation feature is enabled, which requires you to manually approve certificate renewals for component certificates. Refer to the Kubelet documentation for additional information.
```
执行以下命令,将 Kubernetes 配置文件复制到当前用户的 .kube 目录下:
```bash
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```
4. 安装网络插件
Kubernetes 是一个分布式系统,需要网络插件来实现 Pod 之间的通信。
这里使用 Flannel 网络插件:
```bash
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
```
安装完成后,执行以下命令查看节点状态:
```bash
kubectl get nodes
```
如果输出类似如下信息,则说明节点已经成功加入集群:
```bash
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane,master 19m v1.22.1
```
至此,Kubernetes 集群安装完成。
阅读全文