вторник, 28 августа 2018 г.

Прочитане

Прочитав "Кофе с привкусом пепла"



Це спогади людини, що була в АТО.
Деякі технічні рішення заінтересували, так що підзвонив до авторів, та перепитався

Цікавий емоційний стан людини

Брав тут за гроші електронну копію 

Прочитане неофіціальна біографія грошей

Прочитане
Неофіціальну біографію денег

Брати можно тут

Доволі цікаві факти і ставлення до грошей




среда, 18 июля 2018 г.

понизити (downgrade) kubernetes 1.11.1 назад до 1.11.0 з ceph

1. повертаємо debian пакети

apt-get install kubeadm=1.11.0-00 kubectl=1.11.0-00 kubelet=1.11.0-00
в мене змінений файл в systemd
10-kubeadm.conf\
тому погоджуємося на заміну
там відрізняється формат

2. kubeadm config images pull --kubernetes-version=v1.11.0


3. Робимо файл, пусть буде config.yaml
    apiVersion: kubeadm.k8s.io/v1alpha1
    kind: MasterConfiguration
    api:
      advertiseAddress: 10.1.0.151
    networking:
      podSubnet: 10.244.0.0/16
    kubernetesVersion: 1.11.0
 
4. kubeadm init --config=config.yaml --ignore-preflight-errors=all
5. додаємо в /etc/default/kubelet
KUBELET_EXTRA_ARGS=--max-pods=240
6. Для перестраховки systemctl daemon-reload 
7. service kubelet restart
8. Перевіряємо kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, cap: .status.capacity}' 

среда, 23 мая 2018 г.

kubernetes 1.10  обмеження 110 pods на node

Перевірити так
 kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, cap: .status.capacity}'

kube@kub01pp:/etc/systemd/system/kubelet.service.d$ kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, cap: .status.capacity}'
Щоб було як у у прикладі 240, а не 110
{
  "name": "kub01pp",
  "cap": {
    "cpu": "16",
    "ephemeral-storage": "38703652Ki",
    "hugepages-1Gi": "0",
    "hugepages-2Mi": "0",
    "memory": "65963632Ki",
    "pods": "240"
  }
}
{
  "name": "kub02pp",
  "cap": {
    "cpu": "16",
    "ephemeral-storage": "38703652Ki",
    "hugepages-1Gi": "0",
    "hugepages-2Mi": "0",
    "memory": "65963572Ki",
    "pods": "240"
  }
}
{
  "name": "kub03pp",
  "cap": {
    "cpu": "16",
    "ephemeral-storage": "0",
    "hugepages-1Gi": "0",
    "hugepages-2Mi": "0",
    "memory": "65963632Ki",
    "pods": "240"
  }
}

cd /etc/systemd/system/kubelet.service.d/
у цьому файлі додати Environment="KUBELET_EXTRA_ARGS=--max-pods=240" 10-kubeadm.conf
потім systemctl daemon-reload
service kubelet restart

Оновлення kubernetes з custom controller (with CEPH RBD)

оновлення kubernetes
1) apt-get update&&apt-get upgrade
2) оновлюємо controller
в файлі /home/kube/docker/Dockerfile вписуємо потрібну версію
3)  робимо імідж
docker build -t "my-kube-controller-manager:v1.10.3" docker/
4) перевіряємо
docker images | grep my-kube-controller-manager
5) перевіряємо image чи в ньому є rbd binary
docker run my-kube-controller-manager:v1.10.3 whereis rbd
6) в файлі  /etc/kubernetes/manifests/kube-controller-manager.yaml
image: my-kube-controller-manager:v1.10.3 (замінюємо на наше ім'я та
перевіряємо imagePullPolicy: IfNotPresent )

7) під користувачем kube
kubectl -n kube-system describe pods | grep kube-controller
8)  потім звичайно
kubeadm upgrade plan
а потім
kubeadm upgrade apply <версія> 
9) перевіряємо
docker images | grep my-kube-controller-manager 
 якщо потрібно пункт 6 знову

четверг, 18 января 2018 г.

Aliyun alicloud oss (аналог s3) для простого хранения папок

Вместо pip install aswcli --upgrade
здесь нужно
Политика взять ossutil 
Например здесь 

Создать пользователя в ram.console.alicloud.com с ключами
Создать bucket (бакет/корзина)

Создать политику с желаемыми типами действий (во многих примерах почему-то нет  PutObject)

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:ListObjects",
        "oss:GetObject",
        "oss:PutObject"
      ],
      "Resource": [
        "acs:oss:*:*:имя вашего бакета",
        "acs:oss:*:*:имя вашего бакета/*"
      ]
    }
  ]
}
Применить политику к пользователю

протестировать
1)./ossutl ls oss://имя вашего бакета
2) ./ossutil cp ваш_файл.txt oss://имя вашего бакета
использовать в скриптах :)