ubuntu k8s 单节点快速安装

ubuntu k8s 单节点快速安装

很早以前记录过 ubuntu 上 k8s 的单节点安装,现在更新一下 ubuntu 18.04 上 k8s 单节点的快速安装,方便参考。

安装过程

安装 docker

curl -fsSL https://get.docker.com | sudo sh

使用 ubuntu 18.04,先使用 aliyun 的 k8s 源安装 kubeadm 和相关命令行工具

apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install -y kubelet kubeadm kubectl

systemctl enable kubelet

对于 ubuntu ,需要修改 docker 的 cgroup driver 选项为 systemd,与 k8s 保持一致,并修改 registry-mirror 加速下载,可以用 aliyun 提供的镜像服务,以下内容加入到 /etc/docker/daemon.json

{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "registry-mirrors": ["https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn"]
}

重启 docker

systemctl restart docker

直接使用阿里云上提供的 k8s 镜像 (这里指定的网络与后续使用的网络插件的配置保持一致)

kubeadm init --image-repository registry.aliyuncs.com/google_containers     --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16

按照提示把 k8s 配置复制到用户目录下

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

查看当前节点状态,为 notready

kubectl get nodes

需要安装 pod 网络插件 flannel(可用 wget 把 github 把文件下载到本地)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

(安装时需要下载镜像 quay.io/coreos/flannel:v0.11.0-amd64,具体的镜像见 kube-flannel.yml 文件,如果下载失败则到 quay-mirror.qiniu.com 下载,并重新打回 tag)

查看节点状态,为 ready,查看集群状态,各服务正常

kubectl get cs

允许 master 部署 pod

kubectl taint nodes --all node-role.kubernetes.io/master-

查看系统状态

kubectl get pods -n kube-system

部署 nginx 测试

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=8080 --type=NodePort
kubectl get pods,svc

kubectl 命令补全(bash)

安装 bash-completion

apt install bash-completion

然后写入到 bashrc

echo "source <(kubectl completion bash)" >> ~/.bashrc

注意,在 root 下的命令补全可能被注释了,需要打开,在 ~/.bashrc ,确保以下内容没被注释

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

重置

直接使用 kubeadm reset 重置环境,可看到所有容器已清理 docker ps -a

加入 worker 节点

worker 节点安装 k8s 组件

apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install -y kubelet kubeadm kubectl

加入当前节点作为 worker,需要到 k8s 的token 和证书的 sha256 ,在 kubeadm init 后提示的输出里面有对应的 token 和证书的 sha256 ,但是 token 有效期为 24 小时,超时需要重新创建

kubeadm token list  # 查看 token
kubeadm token create --print-join-command   # 创建 token 并打印 join 命令

或通过 openssl 获得证书的 sha256

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

加入到集群

kubeadm join 172.21.0.9:6443 --token <token>     --discovery-token-ca-cert-hash sha256:<证书sha256> 

重装后 kubectl 命令的 x509 错误

由用户目录下的配置文件引起的,需要删除 ~/.kube/config 后,重新把配置复制到用户目录下即可。

原文地址:https://www.cnblogs.com/fengyc/p/12392977.html

时间: 2024-10-25 21:17:19

ubuntu k8s 单节点快速安装的相关文章

linux的ubuntu和centos下快速安装LAMP环境

在linux下安装lamp环境,下面为大家分别介绍在ubuntu和centos下面快速安装LAMP环境的方法. 首先,让我们了解一下什么是LAMP环境(一下摘自百度百科): Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足

ASP.NET Core on K8S学习初探(1)K8S单节点环境搭建

当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务+工具服务)已经很多了,而我司目前没有专业的运维人员,发现运维的成本逐渐开始上来,所以容器编排也就需要提上议程.因此我决定开始学习Kubernetes,会将学习当中的过程记录下来,预计会形成一个系列,暂且命名为:ASP.NET Core on K8S,而这个系列会由3个部分组成,且会在不同的时期写完: ASP.NET Core on K8S学习初探:在Docker for Windows中搭建单节点环境,初步了解有个感

纯手工搭建K8s(单节点)

准备说明: 因为为纯手动搭建,所以针对安装时需要的一些安装包需提前下载好 cfssl_linux-amd64. cfssljson_linux-amd64. cfssl-certinfo_linux-amd64. etcd-v3.3.10-linux-amd64.tar.gz. flannel-v0.11.0-linux-amd64.tar.gz. kubernetes-server-linux-amd64.tar.gz(网络环境原因可以上github上下载或者找台vps下载好然后再从vps上拉

cassandra单节点的安装与配置——cassandra总结(二)

一.cassandra的安装 cassandra现在的版本比之以前各个方面都有了很大的提升,这里采用的是2.1.11版本,下载地址:http://www.apache.org/dyn/closer.lua/cassandra/2.1.11/apache-cassandra-2.1.11-bin.tar.gz     当然大家也可以采用最新稳定版本,一定要是稳定版本,笔者刚开始学习的时候采用The latest release吃了不少苦头. 二.cassandra的配置 配置方面主要就是JDK,要

Packstack单节点一键安装openstack

本文介绍在单节点上用packstack一键安装openstack的方法,其中节点的硬件架构为x86_64(必须是64位,32位不可以).操作系统为centos7.官方的安装文档地址为https://openstack.redhat.com/Quickstart. 1 安装软件库 更新安装的软件包,命令如下: sudo yum update -y 建立RDO库,命令如下: sudo yum install -y https://rdo.fedorapeople.org/rdo-release.rp

ubuntu下使用URLOS快速安装rTorrent (最快的BT下载工具)

rTorrent是一个非常简洁.优秀.非常轻量的BT客户端,它使用ncurses库以C++编写,将 rTorrent 用在安装有 GNU Screen 和 Secure Shell 的低端系统上作为远程的 BT 客户端是非常理想的. 一般来说,安装rTorrent以及ruTorrent比较麻烦,因为还得额外安装Web 服务器并配置,今天我来教大家一个快速安装rTorrent的方法,让我们来忘记复杂的命令行安装过程吧,使用URLOS点点鼠标就能搞定! 首先我们需要在Linux系统安装URLOS,U

OpenStack单节点一键安装

安装环境:centos 7.4.1708 x86_64 修改节点名称:controller 编辑系统名称:$ vi /etc/hostname controller 使用root用户 登录 cd /root #进入到根目录 touch install_pike.sh vi install_pike.sh 下面是 install_pike.sh 文件里面的代码 全部拷贝进去 #!/bin/sh # openstack pike 一键安装脚本 单机 # 环境 centos 7.4.1708 x86_

Kubernetes单节点离线安装

由于各种各样的原因,你可能需要离线安装,至于为什么不是通过apt或者yum安装,这个原因就看具体情况了. 这里主要指rpm包的操作系统,比如centos, fedora之类的. 环境 环境说明 这里安装v1.14.1版本的kubernetes, cni选择flannel. 安装系统依赖 yum install conntrack-tools socat ebtables 系统环境配置 groupadd docker useradd -g docker docker 可能的配置/etc/defau

kubeadm 线上集群部署(二) k8s node 节点初始化安装

curl -s https://gitee.com/hewei8520/File/raw/master/1.13.5/lvm.sh |bash mkdir -p /data/kubelet ln -s /data/kubelet /var/lib/kubelet systemctl stop docker mv /var/lib/docker /data/ ln -s /data/docker /var/lib/docker systemctl restart docker # 除了将maste