最新文章

頁: [1] 2 3 ... 10
1
DevOps 討論版 / Building Kubernetes Cluster on CentOS7
« 最新文章 由 netman 2019-01-15 21:22 »
Building Kubernetes Cluster on CentOS7

* OS:
Centos 7.6 (1810)

* Nodes:
  master:
    node1: 192.168.1.1
  workers:
    node2: 192.168.1.2
    node2: 192.168.1.3

* Pre-configuration:
  - firewalld: disabled
  - selinux: disabled
  - dns or /etc/hosts: configured

* Steps
### Ref: https://www.howtoforge.com/tutorial/centos-kubernetes-docker-cluster/

1. update packages:
yum update -y
reboot

2. enable br_netfilter:
echo br_netfilter > /etc/modules-load.d/br_netfilter.conf
echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf

3. turn off swap:
swapoff -a
sed -i '/^[^ ]\+ \+swap \+/s/^/#/' /etc/fstab

4. install docker-ce:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce

5. install kubernetes:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
### Notes: gpgcheck=1 may not work while installing kubeadm, otherwise keep it to 1 if it works.
yum install -y kubelet kubeadm kubectl

6. reboot OS:
reboot

7. start and enable services:
systemctl start docker && systemctl enable docker
systemctl start kubelet && systemctl enable kubelet

8. fix cgroupfs issue:
kadm_conf=/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
grep -q 'KUBELET_KUBECONFIG_ARGS=.* --cgroup-driver=cgroupfs"' $kadm_conf || sed '/KUBELET_KUBECONFIG_ARGS=/s/"$/ --cgroup-driver=cgroupfs"/' $kadm_conf
systemctl daemon-reload
systemctl restart kubelet

### Note: run above steps on all nodes (both master and workers)

9. enable master (Run on node1 only):
kubeadm init --apiserver-advertise-address=192.168.1.1 --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
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
### Nodes: copy the 'kubeadm join 192.168.1.1:6443 --token XXXXXXXXXXX' line from the outputs and save it to a text file

10. verify the master nodes:
kubectl get nodes
kubectl get pods --all-namespaces

11. enable workers (Run on node2 & node3 only):
### paste the command line which was copied from master:
kubeadm join 192.168.1.1:6443 --token XXXXXXXXXXX...

12. verify nodes (Run on node1):
### you may have some thing like below:
[root@node1 ~]# kubectl get nodes
NAME                STATUS   ROLES    AGE    VERSION
node1.example.com   Ready    master   12m    v1.13.1
node2.example.com   Ready    <none>   4m9s   v1.13.1
node3.example.com   Ready    <none>   35m    v1.13.1


* Dashboard:
### Ref:
###     https://github.com/kubernetes/dashboard
###     https://github.com/kubernetes/dashboard/wiki/Creating-sample-user

1. create dashbord:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
kubectl proxy

2. create admin user:
echo > dashboard-adminuser.yaml << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
EOF
cat > rolebinding.yaml << EOF
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system
EOF
kubectl apply -f dashboard-adminuser.yaml
kubectl apply -f rolebinding.yaml

3. view and copy login token:
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') | awk '/^token:/{print $2}'

4. access dashboard:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
### select 'Token' and paste the the login token

--- end ---
2
Mr.dark,经过我几天的研究,我已经在我这台电脑上成功安装上了win7和CentOS 双系统,之前的问题,我也知道了是什么原因,过两天我重开一贴对我的机型的特点和如何安装作详细说明!
3


AI人工智慧應用人才養成

-- 晉升物聯網-AI人工智慧應用人才 --

課程簡介:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
影像辨識技術已廣泛應用在生活中,舉凡汽車自動停車、輔助駕駛、車道偏移等技術均與影像辨識息息相關。
在工業生產線上更大量應用此技術檢測產品良率。然而影像辨識精準度一直是大家關注的焦點。
而因應未來AI(人工智慧)應用產業發展人才需求將快速增長,

本課程設計從 Python程式設計為基礎,進而整合感測器實作,並瞭解影像辨識理論應用之
專有名詞及其代表意義,使用OpenCV API學習、影像擷取應用,搭配AI人工智慧理論等概念的
嵌入式AI影像辨識技術應用課程。帶領學員熟悉視覺辨識應用,再搭配AI人工智慧自動學習辨識特徵,
提高影像辨識精準度。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
課程大綱:

Python程式設計

大數據分析與資料科學

感測器整合實作

人工智慧概論

影像辨識與處理&機器學習

專題實作

★專題實作演練
|- 智慧家庭應用控制
|- 工業用物體檢測與辨識
|- 人臉偵測與辨識

參考網址:https://www.cadtc.com.tw/embeddedai/

上課講師親自撰寫授課教材
★歡迎參加免費說明會/40分鐘簡報說明/可來電預約02-2311-7355

|
----------------------------------------------------------------------------------
諮詢專線: 02-2311-7355
傳真專線: 02-2331-3591
服務地址:台北市中正區開封街一段2號9樓
         (近台北火車站新光三越站前店,館前路口/麥當勞隔壁大樓9樓)
營業時間:週一至週五9:00~21:30   周六日9:00 ~ 17:30
服務信箱:grace@cadtc.com.tw
中華數位ETC嵌入式科技學院 www.cadtc.com.tw
----------------------------------------------------------------------------------
他們為什麼都選中華數位
 ● 中華數位技術分享區
 ● 中華數位-課程專題實作影片
 ● 中華數位-FB粉絲團
4
另外第一个问题回答您,我的U盘启动盘是在电脑里下载好了iso镜像文件,然后用UltraISO(是不是翻译为软碟通)把这个下载好的iso映像刻在U盘中,插入要安装系统的电脑,开机,按F12,选择USB device,然后就进入安装系统的界面了,大概是这样一个过程。
UltraISO 還增加這功能喔
一直用舊版的都不知道

那就不是你貼那篇的問題了

如果還想裝 linux , 可以關掉 m2 ssd 或是抓 RHEL8 來試
不過 ... 還是比較建議用虛擬機
5
非常感謝! :D我在您發送的網址鏈接里找到了答案。


我copy過來,以後如果有人有疑問應該能通過“搜尋”看到這個吧 ;D

当前电脑传统机械硬盘的每个扇区一般大小为512字节;当使用某一文件系统将硬盘格式化时,文件系统会将硬盘扇区、磁道与柱面统计整理并定义一个簇为多少扇区方便快速存储。
例如:现时windows中常见使用的NTFS文件系统,默认定义为4096字节大小为一个簇,但NTFS分区因为其引导区占用了一个磁道共63个扇区[1],真正的文件系统在63号扇区之后,那么依照计算得出前63个扇区大小为:

    512Bx63=32256B

并按照默认簇大小得出63扇区为多少个簇:

    32256B÷4096B=7.875

即为每个簇都会跨越两个物理单元,占据第一个单元的组后512字节和第二个单元的前3584字节。这样文件系统在读写某个簇的时候,硬盘需要读写两个物理单元,这会降低读写速度,并缩短使用寿命。现时一般使用一些硬盘分区软件在主引导记录的63个扇区后作牺牲地空出数个扇区以对齐文件系统的4096B每簇,以避免过多的读写操作,提升读写速度、延长使用寿命。
6
再添一张,我重装完win10之后,看磁盘的分区格式,如下图所示:是GPT格式的,之前不是安装的时候显示由于是GPT格式无法安装吗,现在安装完了还是GPT格式的,怎磨回事???

当BIOS中设置启动方式为传统方式(Legacy)时,Win10系统只能安装在MBR分区表的硬盘上,当BIOS中设置的启动方式为UEFI模式时,Win10系统就能安装在GPT分区表的硬盘上。其实win10支持gpt的
7
另外第一个问题回答您,我的U盘启动盘是在电脑里下载好了iso镜像文件,然后用UltraISO(是不是翻译为软碟通)把这个下载好的iso映像刻在U盘中,插入要安装系统的电脑,开机,按F12,选择USB device,然后就进入安装系统的界面了,大概是这样一个过程。
8
谢谢您的回答,您说的这么多有好多其实我都不太懂,我一开始就是只想安装一个CentOS在我的系统里,但是安装完之后reboot就找不到Bootable device,所以我试一试能不能安装win10在里面,也安装不成功,于是restore setting才安装成功,大致是以上的这么个过程,我现在仔细研读一下您刚才的回复,感觉够我研究很久啊!
9
你的 U 盤啟動盤是怎麼製作的呢 ?

RHEL iso 可能安裝到 m2 pice 時 , 預設核心無法開
而引導程式又沒有告訴他要多加 m2 驅動進核心
若 win7 不能裝 , 那也應該是這個原因吧

Picture 4. UEFI Boot Path Secrurity 選 never ... 雖然你 bios 也沒設密碼
Picture 5. SATA  操作 選 AHCI ... NB 很難裝兩顆 2.5 硬碟吧

Picture 6 驱动 ... 應該翻譯成裝置吧 ..... 我英文也不好
不過你應該裝 linux 是為了玩雙系統吧 ? ..... 那你這台 NB 很方便喔
你已經裝 win10 進 m2 了
這張圖把 m2 關掉 , 再裝 RHEL 理當就裝進去了
之後開機按不知是 F9 F11 還是 F12 ... 會跳出 bios 的開機選單
選單是指 bios 要將硬體控制權交給誰 .. 是硬碟 , 指令列 , usb , 網路卡 ..... 等
當你 m2 sata 都開啟時 , 用這選單就是雙系統了
當然也可以進 m2 改 win10 的 boot loader 選單

另外
1. 你可實驗關掉 sata
看看 RHEL 會不會突然驚覺唯一一顆 m2 是須要驅動的

2. 其時各 OS 安裝時都會有 "是否載入驅動" 選項
找來 linux , win7 的驅動指定 , 應該就進核心了

幫您 google ...
https://www.microsoft.com/en-us/download/windows-usb-dvd-download-tool
這是 iso 變 usb 的 ... 應該是吧
之前試過多款 , 但最後覺得微軟那個好用 ... 不知連結對不對

而 U 盤啟動我是用 E2B ... 就是能放很多 iso 那種


以上用心體會 , 應該能體會出控製權如何轉移與結果吧
bios 掃描 .. 我有這些硬體
交給光碟 .. 我能控製的硬體
或交給硬碟 -> boot loader -> OS .....
... 最後 , 我們用的 shell 是與核心溝通的橋梁
10
再添一张,我重装完win10之后,看磁盘的分区格式,如下图所示:是GPT格式的,之前不是安装的时候显示由于是GPT格式无法安装吗,现在安装完了还是GPT格式的,怎磨回事???
頁: [1] 2 3 ... 10